3个回答
展开全部
你好
我终于编好了 每一个都有注释 如果还有不懂得地方 请继续问我:
(1)
#include<stdio.h>
int main(){
int a,b,c,l;
printf("请输入三个不同的正整数:");
scanf("%d%d%d",&a,&b,&c);
if(a>b){/*如果a>b 将a和b交换*/
l=a;
a=b;
b=l;
}
else{
if(a>c){/*如果a>c 将a和c交换*/
l=a;
a=c;
c=l;
}
if(b>c){/**如果b>c 将b和c交换*/
l=b;
b=c;
c=l;
}
}
printf("按从小到大的顺序输出:%d %d %d\n",a,b,c);
return 0;
}
(2)
#include<stdio.h>
int prime_number(int n){/*判断n是否为素数 是就返回1;否则返回0*/
int i;
for(i=2;i<=n/2;i++)
if(n%i==0)
return 0;
return 1;
}
int main(){
int i,count=0;
for(i=2;i<=100;i++){
if(prime_number(i)==1){
printf("%d ",i);
count++;
if(count%5==0)
printf("\n");
}
}
return 0;
}
(3)
#include<stdio.h>
void fun(char *p,int n){
int i;
int count_l=0;/*统计字符(letter)个数*/
int count_n=0;/*统计数字(number)个数*/
int count_s=0;/*统计空格(space)个数*/
int count_o=0;/*统计其它字符(other)个数*/
for(i=0;i<n;i++){
if((p[i]>='a'&&p[i]<='z')||(p[i]>='A'&&p[i]<='Z'))
count_l++;
else if(p[i]>='0'&&p[i]<='9')
count_n++;
else if(p[i]==' ')
count_s++;
else
count_o++;
}
printf("\n\n字符个数:%d\n数字个数:%d\n空格个数:%d\n其它字符个数:%d\n",count_l,count_n,count_s,count_o);
}
int main(){
char s[80];
int i;
printf("输入一个字符串(以回车结束):");
gets(s);
for(i=0;i<strlen(s);i++)
printf("%c",s[i]);
fun(s,strlen(s));
printf("\n");
return 0;
}
(4)
#include<stdio.h>
int main(){
int i,j;
for(i=1;i<=4;i++){
for(j=2*(4-i);j>0;j--)
printf(" ");
for(j=1;j<=(2*i-1);j++)
printf("* ");
printf("\n");
}
for(i=1;i<=3;i++){
for(j=1;j<=2*i;j++)
printf(" ");
for(j=1;j<=(2*(4-i)-1);j++)
printf("* ");
printf("\n");
}
return 0;
}
(5)/*用结构体解决的 可能有点儿复杂 但是没办法 结构是有点儿复杂*/
#include<stdio.h>
struct student{
int score[5];
}student[4];
void average(struct student *student){
int i,j;
double sum=0;
for(i=0;i<5;i++){
for(j=0;j<4;j++)
sum+=student[j].score[i];
sum/=5;
printf("课程%d的平均成绩:%.1f\n\n",i+1,sum);
sum=0;
}
}/*求出每门课程的平均成绩*/
void fun1(struct student *student){
int i,j,count=0;
double sum=0;
for(i=0;i<4;i++){
for(j=0;j<5;j++)
if(student[i].score[j]<60)
count++;
if(count>=2){
printf("student%d有%d门课程没及格\n",i+1,count);
for(j=0;j<5;j++){
sum+=student[i].score[j];
printf("课程%d:%d\n",j+1,student[i].score[j]);
}
sum=sum/5;
printf("student%d的平均分:%.1f\n\n",i,sum);
}
count=0;
sum=0;
}
}/*求出两门课程以上不及格的学生,输出他们的序号和全部成绩及平均成绩*/
void fun2(struct student *student){
double sum=0;
int i,j,count=0;
for(i=0;i<4;i++){
for(j=0;j<5;j++){
sum+=student[i].score[j];
if((student[i].score[j])>=85)
count++;
}
sum/=5;
if(count==5)
printf("全部课程的成绩均在85分以上的同学有:student%d\n",i+1);
if(sum>=90)
printf("平均成绩在90分以上的同学有:student%d\n\n",i+1);
count=0;
sum=0;
}
}/*找出平均成绩90分以上以及没门课程成绩均在85分以上的同学*/
int main(){
int i,j;
for(i=0;i<4;i++)
for(j=0;j<5;j++){
printf("请输入student%d的课程%d成绩:",i+1,j+1);
scanf("%d",&student[i].score[j]);
}
average(student);
fun1(student);
fun2(student);
return 0;
}
希望能帮助你哈
我终于编好了 每一个都有注释 如果还有不懂得地方 请继续问我:
(1)
#include<stdio.h>
int main(){
int a,b,c,l;
printf("请输入三个不同的正整数:");
scanf("%d%d%d",&a,&b,&c);
if(a>b){/*如果a>b 将a和b交换*/
l=a;
a=b;
b=l;
}
else{
if(a>c){/*如果a>c 将a和c交换*/
l=a;
a=c;
c=l;
}
if(b>c){/**如果b>c 将b和c交换*/
l=b;
b=c;
c=l;
}
}
printf("按从小到大的顺序输出:%d %d %d\n",a,b,c);
return 0;
}
(2)
#include<stdio.h>
int prime_number(int n){/*判断n是否为素数 是就返回1;否则返回0*/
int i;
for(i=2;i<=n/2;i++)
if(n%i==0)
return 0;
return 1;
}
int main(){
int i,count=0;
for(i=2;i<=100;i++){
if(prime_number(i)==1){
printf("%d ",i);
count++;
if(count%5==0)
printf("\n");
}
}
return 0;
}
(3)
#include<stdio.h>
void fun(char *p,int n){
int i;
int count_l=0;/*统计字符(letter)个数*/
int count_n=0;/*统计数字(number)个数*/
int count_s=0;/*统计空格(space)个数*/
int count_o=0;/*统计其它字符(other)个数*/
for(i=0;i<n;i++){
if((p[i]>='a'&&p[i]<='z')||(p[i]>='A'&&p[i]<='Z'))
count_l++;
else if(p[i]>='0'&&p[i]<='9')
count_n++;
else if(p[i]==' ')
count_s++;
else
count_o++;
}
printf("\n\n字符个数:%d\n数字个数:%d\n空格个数:%d\n其它字符个数:%d\n",count_l,count_n,count_s,count_o);
}
int main(){
char s[80];
int i;
printf("输入一个字符串(以回车结束):");
gets(s);
for(i=0;i<strlen(s);i++)
printf("%c",s[i]);
fun(s,strlen(s));
printf("\n");
return 0;
}
(4)
#include<stdio.h>
int main(){
int i,j;
for(i=1;i<=4;i++){
for(j=2*(4-i);j>0;j--)
printf(" ");
for(j=1;j<=(2*i-1);j++)
printf("* ");
printf("\n");
}
for(i=1;i<=3;i++){
for(j=1;j<=2*i;j++)
printf(" ");
for(j=1;j<=(2*(4-i)-1);j++)
printf("* ");
printf("\n");
}
return 0;
}
(5)/*用结构体解决的 可能有点儿复杂 但是没办法 结构是有点儿复杂*/
#include<stdio.h>
struct student{
int score[5];
}student[4];
void average(struct student *student){
int i,j;
double sum=0;
for(i=0;i<5;i++){
for(j=0;j<4;j++)
sum+=student[j].score[i];
sum/=5;
printf("课程%d的平均成绩:%.1f\n\n",i+1,sum);
sum=0;
}
}/*求出每门课程的平均成绩*/
void fun1(struct student *student){
int i,j,count=0;
double sum=0;
for(i=0;i<4;i++){
for(j=0;j<5;j++)
if(student[i].score[j]<60)
count++;
if(count>=2){
printf("student%d有%d门课程没及格\n",i+1,count);
for(j=0;j<5;j++){
sum+=student[i].score[j];
printf("课程%d:%d\n",j+1,student[i].score[j]);
}
sum=sum/5;
printf("student%d的平均分:%.1f\n\n",i,sum);
}
count=0;
sum=0;
}
}/*求出两门课程以上不及格的学生,输出他们的序号和全部成绩及平均成绩*/
void fun2(struct student *student){
double sum=0;
int i,j,count=0;
for(i=0;i<4;i++){
for(j=0;j<5;j++){
sum+=student[i].score[j];
if((student[i].score[j])>=85)
count++;
}
sum/=5;
if(count==5)
printf("全部课程的成绩均在85分以上的同学有:student%d\n",i+1);
if(sum>=90)
printf("平均成绩在90分以上的同学有:student%d\n\n",i+1);
count=0;
sum=0;
}
}/*找出平均成绩90分以上以及没门课程成绩均在85分以上的同学*/
int main(){
int i,j;
for(i=0;i<4;i++)
for(j=0;j<5;j++){
printf("请输入student%d的课程%d成绩:",i+1,j+1);
scanf("%d",&student[i].score[j]);
}
average(student);
fun1(student);
fun2(student);
return 0;
}
希望能帮助你哈
上海勤革
2024-10-18 广告
2024-10-18 广告
Golang程序员在准备面试时,可以参考多个在线刷题平台来提高编程能力和解题技巧。虽然没有具体的网址,但常见的刷题网站通常会提供丰富的算法题库、在线编程环境以及详细的题目解析。通过不断练习,Golang程序员能够加深对常用数据结构和算法的理...
点击进入详情页
本回答由上海勤革提供
展开全部
第一题
void main()
{
int a,b,c;
cin>>a;
cin>>b;
cin>>c;
//alternative: scanf("%d%d%d",a,b,c);这个也可以
int exchanger;
if(a>b)
{
exchanger=b;
b=a;
a=exchanger;
}
if(b>c)
{
exchanger=c;
c=b;
b=exchanger;
}
if(a>b)
{
exchanger=b;
b=a;
a=exchanger;
}//这个东西叫冒泡排序,你以后会懂的
cout<<a<<b<<c<<endl;
//alternative:printf("%d%d%d",a,b,c);
}
第二题
void main()
{
int integ[101][2];//100个数,第0号元素我不用
int i,j,k;
for(i=0;i<101;i++)
{
integ[i][0]=i;
integ[i][1]=1;//我用传统的挖去法做,想想为什么
}
for(i=2;i<101;i++)
{
for(j=i+1;j<101;j++)
{
if(j%i==0)
{
integ[j][1]=0;//这个元素可以整除i所以不幸被我挖去了
}
}
}
for(i=1;i<101;i++)
{
if(integ[i][1]==1)
{
printf("%d ",integ[i][0]);
if(i%5==0)
printf("\n");
}
}
}
要下班了回家再给你做:D
void main()
{
int a,b,c;
cin>>a;
cin>>b;
cin>>c;
//alternative: scanf("%d%d%d",a,b,c);这个也可以
int exchanger;
if(a>b)
{
exchanger=b;
b=a;
a=exchanger;
}
if(b>c)
{
exchanger=c;
c=b;
b=exchanger;
}
if(a>b)
{
exchanger=b;
b=a;
a=exchanger;
}//这个东西叫冒泡排序,你以后会懂的
cout<<a<<b<<c<<endl;
//alternative:printf("%d%d%d",a,b,c);
}
第二题
void main()
{
int integ[101][2];//100个数,第0号元素我不用
int i,j,k;
for(i=0;i<101;i++)
{
integ[i][0]=i;
integ[i][1]=1;//我用传统的挖去法做,想想为什么
}
for(i=2;i<101;i++)
{
for(j=i+1;j<101;j++)
{
if(j%i==0)
{
integ[j][1]=0;//这个元素可以整除i所以不幸被我挖去了
}
}
}
for(i=1;i<101;i++)
{
if(integ[i][1]==1)
{
printf("%d ",integ[i][0]);
if(i%5==0)
printf("\n");
}
}
}
要下班了回家再给你做:D
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
连题目都木有...
追问
题
追答
a=513.789215,a = 513.79,a = 513.78921500,a = 513.78921500
-4
第三题,题目第二行应该是s ,改过来之后 答案:无结果,i始终等于3,跳不出循环。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询