急求!!C语言课后习题答案!2
由于后天就要交这个作业,所以拜托各位大虾们帮帮忙!!!下面一共有8个题(分两次发),各位大虾只用写出相应各题的完整而正确的程序就是了(也麻烦在程序后面加一下注释),如能解...
由于后天就要交这个作业,所以拜托各位大虾们帮帮忙!!!下面一共有8个题(分两次发),各位大虾只用写出相应各题的完整而正确的程序就是了(也麻烦在程序后面加一下注释),如能解决,另送100分!!
④.
实验四 数组
一个含10个整数元素的数组,试找出其中的最小元素及其数组下标,并输出最小元素值及其下标值。
要求:① 写出源程序,上机编辑、调试、运行程序
② 给出测试数据,写出运行结果
2.定义一个二维数组存储三位学生的考试成绩,每位学生有两科考试的成绩,编写程序分别取出二维数组里的元素值,经过累加之后计算并输出每位学生的总成绩。
要求:① 写出源程序,上机编辑、调试、运行程序
② 给出测试数据,写出运行结果
3. 输入两个字符串,比较这两个字符串是否相同,并输出比较的结果。(提示:可以调用系统库函数strcmp进行比较)
要求:① 写出源程序,上机编辑、调试、运行程序
② 给出测试数据,写出运行结果
⑤.
实验五 函数
编写一个将华氏温度转换为摄氏温度的程序,转换公式为C=(5/9)×(F-32)。
要求:① 写出源程序,上机编辑、调试、运行程序
② 给出华氏温度的测试数据,写出相应的摄氏温度运行结果。分析结果是否正确,并分析产生错误的原因是什么?并对程序进行修改。
③ 要求将转换公式C=(5/9)×(F-32)的功能用一个子函数来实现,并在主函数中对其进行函数调用。
⑥
实验六 指针
1.定义两个子函数swap1和swap2,目的是实现两个整数的数值交换,其中swap1的两个形参采用值传递,swap2的两个形参采用地址传递,在主函数中分别调用这两个子函数,其输出结果如下所示:
初始值 :x=1,y=2
调用swap1后的结果:x=1 y=2
调用swap2后的结果:x=2 y=1
要求:① 写出源程序,上机编辑、调试、运行程序
② 给出测试数据,写出运行结果
③ 根据运行结果分析值传递与地址传递的区别
2.下面的程序试图有如下运行结果:
which style you want to :
Capital ( c ) or uncapital ( a ):c ↙
COMPUTER
Which sytle you want to :
Capital ( c ) or uncapital ( a ) : u↙
computer
请调试下面的程序,修改错误,使其有如上执行结果。
#include <stdio.h>
void main ()
{
char s*;
char c;
printf(“which style you want to :ln”);
printf(“capital ( c ) or uncapital(a):”);
c=getchar();
if(c=’c’)strcpy(s,”COMPUTER”);
else strcpy(s,”computer”);
put(s);
}
⑦
实验七 结构体
1、有4名学生,每个学生的数据包括学号、姓名、成绩,要求找出成绩最高者的学号、姓名和成绩,并输出。
要求:① 写出源程序,上机编辑、调试、运行程序
② 从键盘输入测试数据,写出运行结果
⑧
实验八 类和对象
1、定义一个圆类,要求用成员函数来求圆的面积和周长。
要求:① 编写类的定义。
② 编写主函数使用这个类。
③ 上机编辑、调试、运行程序 展开
④.
实验四 数组
一个含10个整数元素的数组,试找出其中的最小元素及其数组下标,并输出最小元素值及其下标值。
要求:① 写出源程序,上机编辑、调试、运行程序
② 给出测试数据,写出运行结果
2.定义一个二维数组存储三位学生的考试成绩,每位学生有两科考试的成绩,编写程序分别取出二维数组里的元素值,经过累加之后计算并输出每位学生的总成绩。
要求:① 写出源程序,上机编辑、调试、运行程序
② 给出测试数据,写出运行结果
3. 输入两个字符串,比较这两个字符串是否相同,并输出比较的结果。(提示:可以调用系统库函数strcmp进行比较)
要求:① 写出源程序,上机编辑、调试、运行程序
② 给出测试数据,写出运行结果
⑤.
实验五 函数
编写一个将华氏温度转换为摄氏温度的程序,转换公式为C=(5/9)×(F-32)。
要求:① 写出源程序,上机编辑、调试、运行程序
② 给出华氏温度的测试数据,写出相应的摄氏温度运行结果。分析结果是否正确,并分析产生错误的原因是什么?并对程序进行修改。
③ 要求将转换公式C=(5/9)×(F-32)的功能用一个子函数来实现,并在主函数中对其进行函数调用。
⑥
实验六 指针
1.定义两个子函数swap1和swap2,目的是实现两个整数的数值交换,其中swap1的两个形参采用值传递,swap2的两个形参采用地址传递,在主函数中分别调用这两个子函数,其输出结果如下所示:
初始值 :x=1,y=2
调用swap1后的结果:x=1 y=2
调用swap2后的结果:x=2 y=1
要求:① 写出源程序,上机编辑、调试、运行程序
② 给出测试数据,写出运行结果
③ 根据运行结果分析值传递与地址传递的区别
2.下面的程序试图有如下运行结果:
which style you want to :
Capital ( c ) or uncapital ( a ):c ↙
COMPUTER
Which sytle you want to :
Capital ( c ) or uncapital ( a ) : u↙
computer
请调试下面的程序,修改错误,使其有如上执行结果。
#include <stdio.h>
void main ()
{
char s*;
char c;
printf(“which style you want to :ln”);
printf(“capital ( c ) or uncapital(a):”);
c=getchar();
if(c=’c’)strcpy(s,”COMPUTER”);
else strcpy(s,”computer”);
put(s);
}
⑦
实验七 结构体
1、有4名学生,每个学生的数据包括学号、姓名、成绩,要求找出成绩最高者的学号、姓名和成绩,并输出。
要求:① 写出源程序,上机编辑、调试、运行程序
② 从键盘输入测试数据,写出运行结果
⑧
实验八 类和对象
1、定义一个圆类,要求用成员函数来求圆的面积和周长。
要求:① 编写类的定义。
② 编写主函数使用这个类。
③ 上机编辑、调试、运行程序 展开
4个回答
展开全部
以前上课的时候不想做,现在很想补下,很后悔没好好学习呢~希望楼主好好努力
第4道1):
#include<stdio.h>
void main(void)
{
int i,j,a[80],max,max_i;
printf("please input 10 num!\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("the 10 num is:\n");
for(i=0;i<10;i++)
printf("%d\t",a[i]);
for(max=a[0],i=0;i<10;i++)
{
if(max<a[i])
{
max=a[i];
max_i=i;
}
}
printf("the max num is:a[%d]=%d\n",max_i+1,max);
getch();
}
2)道:
#include<stdio.h>
void main(void)
{
int a[3][2],i,j,sum[3];
for(i=0;i<3;i++)
{
printf("please input the score of the student %d\n",i+1);
scanf("%d%d",&a[i][0],&a[i][1]);
sum[i]=a[i][0]+a[i][1];
}
for(i=0;i<3;i++)
{
printf("the score of the student %d is:%d\t%d\n",i+1,a[i][0],a[i][1]);
printf("the sum score of the student %d is:%d\n",i+1,sum[i]);
}
getch();
}
3)道:
#include<stdio.h>
#include<string.h>
main()
{
int i;
char string1[80],string2[80];
printf("please input the string 1\n");
scanf("%s",string1);
printf("please input the string 2\n");
scanf("%s",string2);
if(strcmp(string1,string2)==0)
printf("the 2 string is the same\n");
else
printf("the 2 string is different\n");
getch();
}
第5道:
#include<stdio.h>
main()
{
float c,f;
printf("please input the F\n");
scanf("%f",&f);
c=(f-32)*5/9;
printf("the convert result is:%.2f\n",c);
getch();
}
小问:
float convert(float a)
{
float b;
b=(a-32)*5/9;
return b;
}
main()
{
float c,f;
printf("please input the F\n");
scanf("%f",&f);
c=convert(f);
printf("the convert result is %.2f\n",c);
getch();
}
第6道:
#include<stdio.h>
main()
{
int x,y,*p1,*p2;
printf("please input the 2 nums;\n");
scanf("%d%d",&x,&y);
swap1(x,y);
printf("the swap1 result is:%d\t%d\n",x,y);
p1=&x;
p2=&y;
swap2(p1,p2);
printf("the swap2 result is:%d\t%d\n",*p1,*p2);
getch();
}
swap1(int x,int y)
{
int temp;
temp=x;
x=y;
y=temp;
}
swap2(int *p1,int *p2)
{
int temp;
temp=*p1;
*p1=*p2;
*p2=temp;
}
6.2)
#include <stdio.h>
void main()
{
char s[80];/*定义一个数组*/
char c;
printf("which style you want to:\n");/*是\不是|*/
printf("capital ( c ) or uncapital(a):");
c=getchar();
if(c=='c')/*是==不是=*/
strcpy(s,"COMPUTER");
else
strcpy(s,"computer");
puts(s);
getch();
}
第七道
struct student
{
char num[8];
char name[80];
float score;
}stu[4];
main()
{
int i,max,max_i;
for(i=0;i<4;i++)
{
printf("input the num of student %d\n",i+1);
scanf("%s",&stu[i].num);
printf("input the name of student %d\n",i+1);
scanf("%s",&stu[i].name);
printf("input the score of student %d\n",i+1);
scanf("%f",&stu[i].score);
}
for(max=stu[0].score,i=0;i<4;i++)
{
if(max<stu[i].score)
{
max=stu[i].score;
max_i=i;
}
}
printf("the highest score student is student%d\n",max_i+1);
printf("%s\t%s\t%.2f\n",stu[max_i].num,stu[max_i].name,stu[max_i].score);
getch();
}
第八道:
Java的行不,C++的不记得了。
public class Circle
{
private static double PI=3.14
private double radius;
public Circle(double radius)
{
this.radius=radius;
}
public double Area()
{
return PI*radius*radius;
}
public double Perimeter()
{
return 2*PI*radius;
}
}
第4道1):
#include<stdio.h>
void main(void)
{
int i,j,a[80],max,max_i;
printf("please input 10 num!\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("the 10 num is:\n");
for(i=0;i<10;i++)
printf("%d\t",a[i]);
for(max=a[0],i=0;i<10;i++)
{
if(max<a[i])
{
max=a[i];
max_i=i;
}
}
printf("the max num is:a[%d]=%d\n",max_i+1,max);
getch();
}
2)道:
#include<stdio.h>
void main(void)
{
int a[3][2],i,j,sum[3];
for(i=0;i<3;i++)
{
printf("please input the score of the student %d\n",i+1);
scanf("%d%d",&a[i][0],&a[i][1]);
sum[i]=a[i][0]+a[i][1];
}
for(i=0;i<3;i++)
{
printf("the score of the student %d is:%d\t%d\n",i+1,a[i][0],a[i][1]);
printf("the sum score of the student %d is:%d\n",i+1,sum[i]);
}
getch();
}
3)道:
#include<stdio.h>
#include<string.h>
main()
{
int i;
char string1[80],string2[80];
printf("please input the string 1\n");
scanf("%s",string1);
printf("please input the string 2\n");
scanf("%s",string2);
if(strcmp(string1,string2)==0)
printf("the 2 string is the same\n");
else
printf("the 2 string is different\n");
getch();
}
第5道:
#include<stdio.h>
main()
{
float c,f;
printf("please input the F\n");
scanf("%f",&f);
c=(f-32)*5/9;
printf("the convert result is:%.2f\n",c);
getch();
}
小问:
float convert(float a)
{
float b;
b=(a-32)*5/9;
return b;
}
main()
{
float c,f;
printf("please input the F\n");
scanf("%f",&f);
c=convert(f);
printf("the convert result is %.2f\n",c);
getch();
}
第6道:
#include<stdio.h>
main()
{
int x,y,*p1,*p2;
printf("please input the 2 nums;\n");
scanf("%d%d",&x,&y);
swap1(x,y);
printf("the swap1 result is:%d\t%d\n",x,y);
p1=&x;
p2=&y;
swap2(p1,p2);
printf("the swap2 result is:%d\t%d\n",*p1,*p2);
getch();
}
swap1(int x,int y)
{
int temp;
temp=x;
x=y;
y=temp;
}
swap2(int *p1,int *p2)
{
int temp;
temp=*p1;
*p1=*p2;
*p2=temp;
}
6.2)
#include <stdio.h>
void main()
{
char s[80];/*定义一个数组*/
char c;
printf("which style you want to:\n");/*是\不是|*/
printf("capital ( c ) or uncapital(a):");
c=getchar();
if(c=='c')/*是==不是=*/
strcpy(s,"COMPUTER");
else
strcpy(s,"computer");
puts(s);
getch();
}
第七道
struct student
{
char num[8];
char name[80];
float score;
}stu[4];
main()
{
int i,max,max_i;
for(i=0;i<4;i++)
{
printf("input the num of student %d\n",i+1);
scanf("%s",&stu[i].num);
printf("input the name of student %d\n",i+1);
scanf("%s",&stu[i].name);
printf("input the score of student %d\n",i+1);
scanf("%f",&stu[i].score);
}
for(max=stu[0].score,i=0;i<4;i++)
{
if(max<stu[i].score)
{
max=stu[i].score;
max_i=i;
}
}
printf("the highest score student is student%d\n",max_i+1);
printf("%s\t%s\t%.2f\n",stu[max_i].num,stu[max_i].name,stu[max_i].score);
getch();
}
第八道:
Java的行不,C++的不记得了。
public class Circle
{
private static double PI=3.14
private double radius;
public Circle(double radius)
{
this.radius=radius;
}
public double Area()
{
return PI*radius*radius;
}
public double Perimeter()
{
return 2*PI*radius;
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2009-06-02
展开全部
太难了.......不会
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2009-06-01
展开全部
都不难,但题太多,挺麻烦的!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2009-06-01
展开全部
没出息。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询