本文目录一览:
- c语言菜鸡,这道很简单,但我的运行正确,提交就错求,大佬一个代码,如图,谢谢
- c语言菜鸡,这道题我知道是.多实例.但我真的不会.多实例.,求大佬一个代码,谢谢,如图?
- c语言菜鸡,运行都对,但提交就错,求大佬一个正确的代码,如图,谢谢
- C语言 菜鸡求救 是想让数组a中的整数按相反顺序存放
- C语言用递归颠倒栈,我是菜鸡啊,麻烦给个简单点的代码,不是C++.题目如下
- c语言菜鸡,这个代码哪错了,题教交说错了%10,谢谢,如图?
c语言菜鸡,这道很简单,但我的运行正确,提交就错求,大佬一个代码,如图,谢谢
一、题目要求输入的数字有区间,你scanf
要嵌套一个循环验证输入。
二、当前存款b
的累加,应放在判断后面,否则第一次输入的值就没有被判断。
三、注意题目要求先t
次输入,再输出t
行结果,不是每次输入就输出。要用数组保存每次输入的结果,最后循环输出。(这就是为什么题目设定t
的区间是大于1的整数,因为要作为数组的维度,当然用动态数组做,另当别论)。
下面是代码,你参考:
#include<stdio.h>
int main()
{
int a=0,b=0,t=0,i,j=1,flag[1000];
while(t==0 || t>1000)
scanf("%d",&t);
for(i=0;i<t;i++)
{
while(a==0 || a>100000 || b==0 || b>100000)
scanf("%d%d",&a,&b);
while(1)
{
if(b<a)//存款不够吃饭
{
flag[i]=0;
break;
}
if(j==a)//存款够且收入正增长
{
flag[i]=1;
break;
}
b=b+j-a;
j=j*2;
}
a=b=0,j=1;
}
for(i=0;i<t;i++)
{
if(flag[i])
printf("YES\n");
else
printf("NO\n");
}
return 0;
}
c语言菜鸡,这道题我知道是.多实例.但我真的不会.多实例.,求大佬一个代码,谢谢,如图?
按照题目要求编写的计算换瓶数的C语言程序如下:
#include<stdio.h>
void cal_bottle(int m){
int total=0;//total表示换瓶总数
while(m>=3){
total=total+m/3;
m=m/3+m%3;
}
if(m==2) {total++;}
printf("%d\n",total);
}
int main()
{
int n;//n表示空瓶数
scanf("%d",&n);
while(n!=0){
cal_bottle(n);
scanf("%d",&n);
}
return 0;
}
c语言菜鸡,运行都对,但提交就错,求大佬一个正确的代码,如图,谢谢
因为你的程序没有考虑十位是7或者百位是7的数字,所以有错。
因为N
小于等于3000,所以考虑个位、十位或者百位是7的数字就可以了。
改进后的完整的C语言程序如下:
#include<stdio.h>
int main(){
int a,b,i=1,j=1;
scanf("%d",&a);
for(i=1;i<=a;i++){
scanf("%d",&b);
for(j=1;j<=b;j++){
if(j%7==0 || j%10==7 || j/10%10==7 || j/100%10==7){
printf("%d ",j);
}
}
printf("\n");
}
return 0;
}
C语言 菜鸡求救 是想让数组a中的整数按相反顺序存放
#include<stdio.h>
int main (void)
{
int a[100],b,c;
void miao(int *a,int c);
printf("输入数组中数字个数");
scanf("%d",&c);
printf("输入数组");
for(b=1;b<=c;b++)
scanf("%d",&a[b-1]);//这里少了个&
miao(a,c);
for(b=1;b<=c;b++)
{
printf("%d\t",a[b-1]);
if(b==c)
printf("\n");
}
return 0;
}
void miao(int *a,int f)
{
int b[100];
int e;
// b=a;//问题就出现在这里 你把a的首地址给了b
for(e=1;e<=f;e++)
{
*(b+e-1)=*(a+e-1); //你把a的首地址给了b那么 *(b+e-1)=*(a+e-1)这个就和a[e]=a[e]一样你并没有真正把数组a复制一份
}
for(e=1;e<=f;e++)
{
*(a+f-e)=*(b+e-1);
}
}
要对指针和数组的关系加强认识啊。。。看我是怎么修改你的代码的O(∩_∩)O哈哈~ 谢谢
C语言用递归颠倒栈,我是菜鸡啊,麻烦给个简单点的代码,不是C++.题目如下
//刚写的code,测试通过,如果有疑问,欢迎交流
//其中is_first
是为了控制空格输出,因为最后一个数字后面没有空格
//另外这个程序没有说明输入的个数,所以在运行下面的程序的时候
//输入几个数后,要ctrl+z
#include<stdio.h>
void tar_func(int *&is_first){
int tar;
if(scanf("%d", &tar)!=EOF){
tar_func(is_first);
if(*is_first != 1){
printf(" %d", tar);
}else{
printf("%d", tar);
*is_first = 0;
}
}
}
int main(){
int tar,is_first = 1;
tar_func(is_first);
return 0;
}
c语言菜鸡,这个代码哪错了,题教交说错了%10,谢谢,如图?
您好,很高兴回答您的问题。
对于您给出来的程序,有一些小问题:首先for
循环中的循环变量i
是一直在以递增1的速度增加,但是没有结束的时候,所以这个循环是个死循环。其次,b
的值没有发生变化,所以只要输入a
的值超过1,那么b>a
就是永远成立,循环也是死循环,所以需要修改b
的值,让它逐步靠近a
。