① c语言 写了一个程序代码 为什么不能循环了
因为你那个a:break直接执行了,顺序执行下来会执行这个break,你把这个记号放到return那里就可以了
a:return 0;
② c语言while循环为什么执行不了
因为你的break没有在大括号里,每次直接跳出了循环,条件判断后的多条语句一定要放到括号里。我帮你改了一下,你再试试。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
intmain()
{
intnumber,a;
inti=9;
srand((unsigned)time(NULL));
number=rand()%101;
while(1){
i--;
if(i<0){
printf("游戏结束你猜错了,这个数是%d",number);
break;
}
printf("此数范围是0-100");
printf("请输入一个0-100的数字");
scanf("%d",&a);
if(a==number)
{
printf("游戏结束你猜对了,这个数是%d",number);
}
elseif(a<number)
{
printf("你输入的数比这个数小,你还有%d次机会,请重新输入",i);
}
elseif(a>number)
{
printf("你输入的数比这个数大,你还有%d次机会,请重新输入",i);
}
elseif(a==number){
printf("游戏结束你猜对了,这个数是%d",number);
return0;
}
}
return0;
}
③ c语言for语句为什么循环不成功
你的循环成功了,但是没有在每次循环a=0,造成完数的判断有误,最后只有1一个“完数”(因为a被累加起来了)
④ C语言scanf语句导致无法进入循环
问题已经解决,还是比较简单的。。。一个小问题而已。是scanf函数的问题。
我先贴图好吧,我运行的结果。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define SIZE 50
#define RAT 5
struct movie{
char name[SIZE];
int rating;
};
void * s_gets(char *,int n);
int main()
{
int i=0,j,k;
struct movie *mov;
printf("输入你想录入的影片数量 ");
scanf("%d",&k);
mov=(struct movie *) malloc(k*sizeof(struct movie));
printf("输入你想录入的第一部影片名称 ");
while(i<k&&s_gets(mov[i].name,SIZE)!=NULL&&mov[i].name[0]!='