c语言编程题目求解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言编程题目求解相关的知识,希望对你有一定的参考价值。

(实践题)编写程序,要求写出每个小题的调试运行成功的源程序和运行结果截图,并且将每个小题的源程序文件及编译调试运行生成的各种文件(不同编译器不同)按文件夹存放,如:tc3.0,包括源程序文件(.c或.cpp)、目标文件(.obj)、可执行文件(.exe),存于作业提交模板中“第15题”文件夹中。(30分)
(1)从键盘输入学生的考试成绩,利用计算机将学生的成绩划分等级并输出。学生的成绩可分为5个等级,这5个等级是:90—99分为A级,80—89分为B级,70—79分为C级,60—69分为D级,0—59分为E级。学生的考试成绩为0—99分。分别用if多分支结构和switch多分支结构实现。
(2)输入一个整数,利用函数调用方式编程,判断该数是否为素数。(素数的条件:只能被1和自身整除)
(3) 编写程序将一个数组中的数按逆序重新存放并输出(程序中数组的元素个数自定,逆序时不能使用辅助数组)。如:输入5个数3、9、7、6、1,逆序存放后数组是1、6、7、9、3。

题目1:
使用if多分支结构:

c

#include<stdio.h>
int main()

int score;
printf("请输入学生的成绩:\n");
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=2; i<=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=0; i<N; i++)
scanf("%d", &arr[i]);

for(i=0; i<N/2; i++)
temp = arr[i];
arr[i] = arr[N-1-i];
arr[N-1-i] = temp;

printf("逆序输出数组:");
for(i=0; i<N; i++)
printf("%d ", arr[i]);

printf("\n");
return 0;
参考技术A 1.#include<stdio.h>
int main()

    double score;
    scanf("%lf",&score);
    char c;
    if(score>=90) c='A';
    else if(score>=80) c='B';
    else if(score>=70) c='C';
    else if(score>=60) c='D';
    else c='E';
    printf("%c\\n",c);
    return 0;

2.

#include<stdio.h>

int isPrime(int n)

    if(n==2) return 1;
    if(n%2==0) return 0;
    int i;
    for(i=2;i*i<=n;i=i+2)
    
        if(n%i==0) return 0;
    
    return 1;


int main()

    int n;
    scanf("%d",&n);
    if(isPrime(n)==1)
    
       printf("%d是素数\\n",n);
    
    else
    
       printf("%d不是素数\\n",n);
    
    return 0;

3.
dty@ubuntu:~$ cat a.c
#include<stdio.h>

int main()

   int a[5];
   int i,j;
   for(i=0;i<5;i++)
   scanf("%d",&a[i]);

   int t;   
   for(i=0,j=4;i<5/2;i++,j--)
   
       t=a[i];
       a[i]=a[j];
       a[j]=t;
   
   
   for(i=0;i<5;i++)
   printf("%d ",a[i]);
   printf("\\n");
   return 0;

dty@ubuntu:~$ gcc a.c
dty@ubuntu:~$ ./a.out 
3 9 7 6 1
1 6 7 9 3

参考技术B #include<stdio.h>
int fun(int a)

int i;
for(i=2;i<=a;i++)

if(a%i==0)

break;


if(i>=a)

return 1;

else
return 0;

int main()

int a;
scanf("%d",&a);
if(fun(a))

printf("yes\n");

else
printf("no\n");

return 0;

第二题追问

那第一题和第三题怎么做呀

追答

#include
int main()

float a;
scanf("%f",&a);
if(a>=90)

printf("A\n");

else if(a>=80)

printf("B\n");

else if(a>=70)

printf("C\n");

else if(a>=60)

printf("D\n");

else
printf("E\n");
return 0;

本回答被提问者采纳

以上是关于c语言编程题目求解的主要内容,如果未能解决你的问题,请参考以下文章

c语言同一题目求解结果用float和int输出值差1.

高分悬赏 求解2道MATLAB编程题目

求解编程题目<猜数字>C++/C

编程珠玑第二章编程求解组合问题

求解释一个C语言程序

(c语言题目没看懂什么意思,求解释)编一个程序,统计从键盘输入的命令行中,第二个参数所包含的英文字符