其中有不少小的错误,作为程序它是不能运行的。
#include<stdio.h>int main( )
{ int y=2,a=1
while(y--!=-1)
{ do{a *=y a++} while(y--) }
printf("%d,%d",a,y)
return 0
}
运行后的输出是:
1,-2
分析运行过程:
y=2,a=1
判激型断,为真,y变为1
进入do循环:
a=1*1=1a++变为2
内循环判断y--为真,y变为0;
再次内循环:
a=2*0=0a++变为1
内循环判断y--为假,y变为-1;
外循环判断为首颤假明芹猜,y变为-2;
所以,最后的输出是1,-2
题目1:使用if多分支结构:
c
#include<stdio.h>
int main()
{
int score
scanf("%d", &score)
if(score>=90 &&score<=99){
printf("学生的成绩等级为A\n")
}else if(score>=80 &&score<=89){
printf("学生的成绩塌搜等级为B\n")
}else if(score>=70 &&score<=79){
printf("学生的成绩等级为C\n")
}else if(score>=60 &&score<=69){
printf("学生的成绩等级为D\n")
}else if(score>=0 &&score<=59){
printf("学生的成绩等级为E\n")
}else{
printf("输入的成绩不合法\n")
}
return 0
}
使用switch多团野历分支结构:
c
#include<stdio.h>
int main()
{
int score
printf("请输入学生的成绩:\n")
scanf("%d", &score)
switch(score/10){
case 10:
case 9:
printf("学生的成绩等级为A\n")
break
case 8:
printf("学生的成绩等级为B\n")
break
case 7:
printf("学生的成绩等级为C\n")
break
case 6:
printf("学生的成绩等级为D\n")
break
default:
if(score>=0 &&score<=59){
printf("学生的成绩等级为脊庆E\n")
}else{
printf("输入的成绩不合法\n")
}
break
}
return 0
}
题目2:
c
#include<stdio.h>
#include<math.h>
int is_prime(int num)
{
int i
for(i=2i<=sqrt(num)i++){
if(num%i == 0){
return 0
}
}
return 1
}
int main()
{
int num
printf("请输入一个整数:\n")
scanf("%d", &num)
if(is_prime(num)){
printf("%d是素数\n", num)
}else{
printf("%d不是素数\n", num)
}
return 0
}
题目3:
c
#include<stdio.h>
#define N 5
int main()
{
int arr[N]
int i, temp
printf("请输入%d个数:\n", N)
for(i=0i<Ni++){
scanf("%d", &arr[i])
}
for(i=0i<N/2i++){
temp = arr[i]
arr[i] = arr[N-1-i]
arr[N-1-i] = temp
}
printf("逆序输出数组:")
for(i=0i<Ni++){
printf("%d ", arr[i])
}
printf("\n")
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)