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;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-03
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

本回答被网友采纳
第2个回答  2015-04-03
#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;
}

本回答被提问者采纳