1. 急求c语言程序设计答案!题目如下(两道题)!!重金答谢!回答运行正确可加赏金。在线等高手江湖救急!
第一题:首先值得说明的是,你的题目有点儿问题应该是: if(a[i][j]>a[row][colum]){row=i;colum=j;}
然后,答案是:row
a[row][colum]
第二题:素数的问题,也就是质数,解题思路就是,如果这个数不能够被2~这个数的开根号整除的话,那么这个数就是素数。
【苍狼涯】的答案是正确的。
我修改一下。
如下:
#include<stdio.h>
#include<math.h>
bool IsPrime(int x);
int main()
{
int num[5]={0,0,0,0,0};
int temp=0;
for(int i=1000;i>=2;i--)
{
if (IsPrime(i))
{
num[temp]=i;
temp++;
if (temp==5)
break;
}
}
printf("结果如下:\n");
for (int k=0;k<5;k++)
{
printf("%d\t",num[k]);
}
printf("\n");
return 0;
}
bool IsPrime(int x)
{
for(int i = 2; i <= (int)sqrt(x); i++)
{
if((x % i) == 0)
return false;
}
return true;
}
2. 求C语言程序设计答案
可能跟你要的有些出入,你自己再稍微改一下吧。
#include <stdio.h>
#include <string.h>
# include<stdlib.h>
# define N 3
int main()
{int mk;
char num[N][10];float score[N][4];
void Input(char number[N][10],float array[][4]);
void Search();
void Delete();
void Insert();
void Sort(char number[N][10],float array[][4]);
void Output(char number[N][10],float array[][4]);
void Stat(char number[N][10],float array[][4]);
do
{
system("cls");
printf("\t学生成绩管理系统\n");
printf("******************************\n");
printf("1.输入成绩\t");
printf("2.查询成绩\n");
printf("3.删除成绩\t");
printf("4.插入成绩\n");
printf("5.成绩排序\t");
printf("6.输出成绩\n");
printf("7.成绩统计\t");
printf("8.退出\n");
printf("******************************\n");
printf("请选择系统模块:");
scanf("%d",&mk);
while (!(mk==1||mk==2||mk==3||mk==4||mk==5||mk==6||mk==7||mk==8))
{printf("模块编号输入错误\n");
scanf("%d",&mk);
}
system("cls");
switch (mk)
{case 1: Input(num,score); break;
case 2: Search();break;
case 3: Delete();break;
case 4: Insert();break;
case 5: Sort(num,score);break;
case 6: Output(num,score);break;
case 7: Stat(num,score);break;
case 8: exit(0);
}
}
while(1);
}
void Input(char number[N][10],float array[][4])
{ int i,j;
float sum;
printf("学号\t成绩1\t成绩2\t成绩3\n");
for (i=0;i<N;i++)
{ scanf("%s",number[i]);
for(j=0;j<3;j++)
scanf("%f",&array[i][j]);
}
for(i=0;i<N;i++)
{ sum=0;
for(j=0;j<3;j++)
{
sum=sum+array[i][j];
}
array[i][3]=sum/3;
}
}
void Search()
{//按"学号"查找
int i,j,t=0;
char x;
printf("输入您要查找同学的学号:\n");
scanf("%s",x);
for(i=0;i<N;i++)
if(number[i]==x)
{t=1;x=i;}
if(t==1)
for(j=0;j<=3;j++)
printf("%f\t",array[x][j]);
else printf("data error!");
}
void Delete()
{//按"学号"删除
int i,j,t;
char x;
printf("输入您要删除同学的学号:\n");
scanf("%s",x);
for(i=0;i<N;i++)
if(number[i]==x) t=i;
for(t=i;t<3;t++)
{
number[t]=number[t+1];
for(j=0;j<=3;j++)
array[t][j]=array[t+1][j];
printf("删除后:\n");
for(i=0;i<N-1;i++)
printf("%s",number[i]);
for(j=0;j<=3;j++)
printf("%f\t",array[i][j]);
}
}
void Insert()
{//按"学号"插入
int i,j,k,x;
int a[1][4];
printf("输入您要插入同学的学号:\n");
scanf("%s",x);
printf("输入您要插入同学的成绩:\n");
for(j=0;j<=3;j++)
scanf("%f",&a[0][j]);
for(i=0;i<N;i++)
if(x>number[i])
{for(k=N;k>=i+1;k--)
number[k]=number[k-1];
number[i]=x;
for(j=0;j<=3;j++)
array[k][j]=array[k-1][j];
array[i][j]=a[0][j];
}
printf("插入后:\n");
for(i=0;i<=N;i++)
{
printf("%s\t",number[i]);
for(j=0;j<N;j++)
printf("%f\t",array[i][j]);
}
}
void Sort(char number[N][10],float array[][4])
{ int i,j,max;
float t;char ts[10];
for(i=0;i<N-1;i++)
{max=i;
for(j=i+1;j<N;j++)
if(array[j][3]>array[max][3])
max=j;
for(j=0;j<4;j++)
{t=array[i][j];array[i][j]=array[max][j];array[max][j]=t;
strcpy(ts,number[i]);strcpy(number[i],number[max]);strcpy(number[max],ts);}
}
}
void Output(char number[N][10],float array[][4])
{int i,j;
printf("学号\t成绩1\t成绩2\t成绩3\t平均成绩\n");
for (i=0;i<N;i++)
{ printf("%s\t",number[i]);
for(j=0;j<4;j++)
printf("%-6.1f\t",array[i][j]);
printf("\n");
}
getchar();printf("按输入键继续…");
getchar();
}
void Stat(char number[N][10],float array[][4])
{
//按"平均成绩"统计各分数段0~59,60~69,70~79,80~89,90~100的人数
//及最高分,最低分及平均分
int i,j;
int sum1=0,sum2=0,sum3=0,sum4=0,sum5=0;
int average1,average2,average3;
int min1=array[0][0],min2=array[0][0],min3=array[0][2],max1=array[0][0],max2=array[0][1],max3=array[0][2];
int s1=array[0][0],s2=array[0][1],s3=array[0][2];
for(i=0;i<N;i++)
{if(0<=array[i][3]<=59) sum1=sum1+1;
if(60<=array[i][3]<=69) sum2=sum2+1;
if(70<=array[i][3]<=79) sum3=sum3+1;
if(80<=array[i][3]<=89) sum4=sum4+1;
if(90<=array[i][3]<=100) sum5=sum5+1;}
for(i=1;i<N;i++)
{
s1=s1+array[i][0];
if(array[i][0]>max1) max1=array[i][0];
if(array[i][0]<min1) min1=array[i][0];
}
average1=s1/N;
for(i=1;i<N;i++)
{
s2=s2+array[i][1];
if(array[i][1]>max2) max2=array[i][1];
if(array[i][1]<min2) min2=array[i][1];
}
average2=s2/N;
for(i=1;i<N;i++)
{
s3=s3+array[i][2];
if(array[i][2]>max1) max1=array[i][2];
if(array[i][2]<min1) min1=array[i][2];
}
average3=s3/N;
printf("分数在0-59有%d\t分数在60-69有%d\t分数在70-79有%d\t分数在80-89有%d\t分数在90-100%d\t",sum1,sum2,sum3,sum4,sum5);
printf("score1最高分为%d\tscore2最高分为%d\tscore3最高分为%d\t",max1,max2,max3);
printf("score1最低分为%d\tscore2最低分为%d\tscore3最低分为%d\t",min1,min2,min3);
printf("score1的平均分为%d\tscore2的平均分为%d\tscore3的平均分为%d\t",average1,average2,average3);
}
3. c语言程序设计课后习题解答第3版
http://wenku..com/view/3ce7511810a6f524ccbf8508.html
自己下载
很容易
4. c语言程序设计教程答案
#include<stdio.>
voidmain()
{
intx,y,z;
floatave;
printf("4,4,1: ");
scanf("%d,%d,%d",&x,&y,&z);
ave=(x+y+z)/3;
printf("3:ave=%f",ave);
}
5. c语言程序设计第四版答案 第八章指针 课后3 。14 。15答案
//课后3
#include <stdio.h>
int main()
{ void input(int *);
void max_min_value(int *);
void output(int *);
int number[10];
input(number);
max_min_value(number);
output(number);
return 0;
}
void input(int *number)
{int i;
printf("input 10 numbers:");
for (i=0;i<10;i++)
scanf("%d",&number[i]);
}
void max_min_value(int *number)
{ int *max,*min,*p,temp;
max=min=number;
for (p=number+1;p<number+10;p++)
if (*p>*max) max=p;
else if (*p<*min) min=p;
temp=number[0];number[0]=*min;*min=temp;
if(max==number) max=min;
temp=number[9];number[9]=*max;*max=temp;
}
void output(int *number)
{int *p;
printf("Now,they are: ");
for (p=number;p<number+10;p++)
printf("%d ",*p);
printf("\n");
}
//课后14
#include <stdio.h>
int main()
{void sort (char *p,int m);
int i,n;
char *p,num[20];
printf("input n:");
scanf("%d",&n);
printf("please input these numbers:\n");
for (i=0;i<n;i++)
scanf("%d",&num[i]);
p=&num[0];
sort(p,n);
printf("Now,the sequence is:\n");
for (i=0;i<n;i++)
printf("%d ",num[i]);
printf("\n");
return 0;
}
void sort (char *p,int m) // 将n个数逆序排列函数
{int i;
char temp, *p1,*p2;
for (i=0;i<m/2;i++)
{p1=p+i;
p2=p+(m-1-i);
temp=*p1;
*p1=*p2;
*p2=temp;
}
}
//课后15
#include <stdio.h>
int main()
{void avsco(float *,float *);
void avcour1(char (*)[10],float *);
void fali2(char course[5][10],int num[],float *pscore,float aver[4]);
void good(char course[5][10],int num[4],float *pscore,float aver[4]);
int i,j,*pnum,num[4];
float score[4][5],aver[4],*pscore,*paver;
char course[5][10],(*pcourse)[10];
printf("input course:\n");
pcourse=course;
for (i=0;i<5;i++)
scanf("%s",course[i]);
printf("input NO. and scores:\n");
printf("NO.");
for (i=0;i<5;i++)
printf(",%s",course[i]);
printf("\n");
pscore=&score[0][0];
pnum=&num[0];
for (i=0;i<4;i++)
{scanf("%d",pnum+i);
for (j=0;j<5;j++)
scanf("%f",pscore+5*i+j);
}
paver=&aver[0];
printf("\n\n");
avsco(pscore,paver); // 求出每个学生的平均成绩
avcour1(pcourse,pscore); // 求出第一门课的平均成绩
printf("\n\n");
fali2(pcourse,pnum,pscore,paver); // 找出2门课不及格的学生
printf("\n\n");
good(pcourse,pnum,pscore,paver); // 找出成绩好的学生
return 0;
}
void avsco(float *pscore,float *paver) // 求每个学生的平均成绩的函数
{int i,j;
float sum,average;
for (i=0;i<4;i++)
{sum=0.0;
for (j=0;j<5;j++)
sum=sum+(*(pscore+5*i+j)); //累计每个学生的各科成绩
average=sum/5; //计算平均成绩
*(paver+i)=average;
}
}
void avcour1(char (*pcourse)[10],float *pscore) // 求第一课程的平均成绩的函数
{int i;
float sum,average1;
sum=0.0;
for (i=0;i<4;i++)
sum=sum+(*(pscore+5*i)); //累计每个学生的得分
average1=sum/4; //计算平均成绩
printf("course 1:%s average score:%7.2f\n",*pcourse,average1);
}
void fali2(char course[5][10],int num[],float *pscore,float aver[4])
// 找两门以上课程不及格的学生的函数
{int i,j,k,labe1;
printf(" ==========Student who is fail in two courses======= \n");
printf("NO. ");
for (i=0;i<5;i++)
printf("%11s",course[i]);
printf(" average\n");
for (i=0;i<4;i++)
{labe1=0;
for (j=0;j<5;j++)
if (*(pscore+5*i+j)<60.0) labe1++;
if (labe1>=2)
{printf("%d",num[i]);
for (k=0;k<5;k++)
printf("%11.2f",*(pscore+5*i+k));
printf("%11.2f\n",aver[i]);
}
}
}
void good(char course[5][10],int num[4],float *pscore,float aver[4])
// 找成绩优秀学生(各门85以上或平均90分以上)的函数
{int i,j,k,n;
printf(" ======Students whose score is good======\n");
printf("NO. ");
for (i=0;i<5;i++)
printf("%11s",course[i]);
printf(" average\n");
for (i=0;i<4;i++)
{n=0;
for (j=0;j<5;j++)
if (*(pscore+5*i+j)>85.0) n++;
if ((n==5)||(aver[i]>=90))
{printf("%d",num[i]);
for (k=0;k<5;k++)
printf("%11.2f",*(pscore+5*i+k));
printf("%11.2f\n",aver[i]);
}
}
}
6. c语言程序设计答案
444444
7. C语言程序设计题目,急求答案啊
int main(void)
{
int a,b,c,d;
scanf("%d",&a);
b=a/100(百位);
if(b==0)进入十位判断;
else{
switch(b){
case :1 printf("one hundred");break;
↓
case : 9 printf("nine hundred");break;
}
printf("and");
}
c=(a/10)%10(十位);
if(c==0)直接对个位判断;
else if(c==1) {
重新对c=a%100 ;
if(c==10)printf("ten");break; 整个程序结束;
if(c>=11)
switch(c){
case :11~19 printf("11~19");break;继续执行个位;
}
}
if(c>=2) {
switch(c){
case 2~9 printf("20~90");break;//记得输出时加空格。
}
}
d=a%10(个位)
switch(d){
case 1~9 printf("one~nine");break;//个位输出时带上"\n".// C=10的时候这步不用走,所以不考虑d=0的情况;
}
returne 0;
}
大概就这样了,具体的自己再补充下,这个程序比较狭隘,不容易推广。例如4位或者5位数等
8. c语言程序设计答案 函数
A change(string);属于嵌套调用cs=stringint j=0,k,temp; printf("\n Input string:"); scanf("%s",cs); printf("\n%s\n",cs);B f(fstr,fs1,fs2)中的fstr,fs1,fs2以及change(char cs[])中的csC函数f内D,程序的活动周期,作用于为整个程序(静态变量)E,溢出错误。
9. C语言程序设计 答案
A
**0**
**2**
C
同学,你是在问题,还是在对题,还是在??
你具体不懂什么呢。
这些都是简单的循环类,条件类。
比如说switch
中的break对switch有效,遇到break,则就近的switch跳出。
continue只对循环有效,而对switch无效。
还有if
else
是选择结构的,即选择了if,则执行if后的语句,else部分的不看。
还比如说++a和a++
前者先自增,后使用,后者先使用,后自增。
再比如说变量的使用范围,即从定义处往下就是他的作用域。
有静态的,具备继承性 static
有扩展的,当你在别的函数中也想使用下面定义的变量时,就可以用extern
还有局部的,在一个函数中的a,与另一个函数中的a,此a非彼a
当变量定义在符合语句里时,他的作用域仅仅局限于此复合语句。。其他同名变量,并非此变量。
请问还有什么不懂的么。
10. 求C语言程序设计的答案
a==b表示判断a和b是否相等,后面没输出结果!
a=b是将b的值赋给a,后面输出“*****”