标题:求牛人变C++程序 为C语言
只看楼主
墨本无非
Rank: 1
等 级:新手上路
帖 子:11
专家分:7
注 册:2012-6-20
结帖率:100%
已结贴  问题点数:20 回复次数:18 
求牛人变C++程序 为C语言
综合练习题:
给定一个班的学生(假定30人)学号(number)、姓名(name)、成绩(score),存入数组(stud)。
⑴    根据学生学号进行排序;
⑵    键盘输入一个学生名字,进行查找。若找到,将其学号、姓名、成绩输出。若没找到,输出“查无此人”;
⑶    求平均成绩,并将全班高于平均成绩的成员输出(学号、姓名、成绩)。
⑷    要求前三项,都是用函数实现。

#include<stdio.h>
#include<string.h>
#include<iomanip.h>
#define N=3;
void main()
{
    void sort(int *,string[],int*);
    void find(string,int *,string [],int*);
    void average(int *,string [],int *);
    int i;
   int num[N],score[N];
    string name[N],somebody;
    printf("Please input data\n”);
    for(i=0;i<N;i++)         //输入N个数据
    {
        Scanf(“%dnum[i];
     scanfname[i];
        scanfscore[i];
    }

   sort(num,name,score);
    for(i=0;i<N;i++)
    {
        printf(“num[i]<<setw(7);
        printf(“name[i]<<setw(7);
        printf(“score[i]<<endl;
    }
    printf(“"Please input a name:"<<endl;
    scanfsomebody;
    find(somebody,num,name,score);
   average(num,name,score);
}

void sort(int *nu,string na[],int *sc )//排序
{
    int i,j,num_temp,score_temp;
    string name_temp;

    for(i=0;i<N-1;i++)           
        for(j=i+1;j<N;j++)
        if(nu[i]<nu[j])
        {
            num_temp=nu[i];
            nu[i]=nu[j];
            nu[j]=num_temp;
            score_temp=sc[j];
            sc[j]=sc[i];
            sc[i]=score_temp;
            name_temp=na[i];
            na[i]=na[j];
            na[j]=name_temp;
        }
}

void find(string one,int *num,string name[],int *score)//查找
{
    bool flag=false;
    for(int i=0;i<N;i++)
        if(one==name[i])
        {
        flag=true;
        printf(“num[i]<<setw(7);
        printf(“name[i]<<setw(7);
        printf(“score[i]<<endl;
        }
    if(!flag)
        printf(“"No such people"<<endl;
}
void average(int *num,string name[],int *score)
//求平均值,输出高于平均的
{
    int i,sum=0;
    float ave;
    for(i=0;i<N;i++)
        sum+=score[i];
    ave=(float)sum/N;
    printf(“"Average="<<ave<<endl;
    printf(“"Above the average:"<<endl;
    for(i=0;i<N;i++)
        if(score[i]>ave)
        {
            printf(“num[i]<<setw(7);
            printf(“name[i]<<setw(7);
           printf(“score[i]<<endl;
        }
}
这是C++程序 求教牛人给变成C语言 小弟是在束手无策了

搜索更多相关主题的帖子: number 练习题 include 姓名 void 
2012-06-21 14:25
墨本无非
Rank: 1
等 级:新手上路
帖 子:11
专家分:7
注 册:2012-6-20
得分:0 
有没有此类大佬级人物啊 如何变C++为C语言啊
2012-06-21 14:45
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
得分:10 
除了string、cin、cout外,你这就是个C程序。而且原来的cin、cout部分已经被你改了个乱七八糟。

唉,再说该伤你自尊了,考虑换个专业吧。

重剑无锋,大巧不工
2012-06-21 18:22
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
得分:0 
现在的小孩说不得的

总有那身价贱的人给作业贴回复完整的代码
2012-06-21 18:30
雪狼MJ
Rank: 8Rank: 8
来 自:甘肃
等 级:蝙蝠侠
威 望:4
帖 子:267
专家分:853
注 册:2012-5-27
得分:10 
非要存入数组吗?用结构可以吗?那样会好办点。。。

Edsger Dijkstra:算法+数据结构=程序
2012-06-21 19:52
jokerskill
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:392
专家分:554
注 册:2012-3-4
得分:0 
#include <stdio.h>

int main(void)
{
int a,b = 0,n;
scanf("%d",&n);
for ( a = 1; a < 100; ++a ) {
if ( n == 1 || n == 0 ) {
printf("%d即不是质数也不是合数",n);
printf("请输入一个比1大的数");
break;
}
if ( a == n ) {
printf("%d的约数有:%d\n",n,a);
++b;
printf("%d能够被整除%d次\n",n,b);
if ( b > 2 )
printf("%d:是一个合数\n",n);
else if ( b <= 2 )
printf("%d:是一个质数\n",n);
break;
}
if ( n%a == 0 )
{
printf("%d的约数有:%d\n",n,a);
++b;
printf("%d能够被整除%d次\n",n,b);
}
else
printf("不能整除%d的数有:%d\n",n,a);
}
return 0;
}
其实(全省)我是一个演员。。。。。
lz我的代码牛吗???
2012-06-21 20:08
雪狼MJ
Rank: 8Rank: 8
来 自:甘肃
等 级:蝙蝠侠
威 望:4
帖 子:267
专家分:853
注 册:2012-5-27
得分:0 
你又跑这炫你的代码来了?呵呵。。。。。拜托,人家是在问怎样把C++的代码改成C代码!

Edsger Dijkstra:算法+数据结构=程序
2012-06-21 20:14
jokerskill
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:392
专家分:554
注 册:2012-3-4
得分:0 
#include <stdio.h>

int main(void)
{
long long a;
long long b = 0,n;
scanf("%lld",&n);
for ( a = 1; a < 100000000; ++a ) {
if ( n == 1 || n == 0 ) {
printf("%lld即不是质数也不是合数",n);
printf("请输入一个比1大的数");
break;
}
if ( a == n ) {
printf("%lld的约数有:%lld\n",n,a);
++b;
printf("%lld能够被整除%lld次\n",n,b);
if ( b > 2 )
printf("%lld:是一个合数\n",n);
else if ( b <= 2 )
printf("%lld:是一个质数\n",n);
break;
}
if ( n%a == 0 )
{
printf("%lld的约数有:%lld\n",n,a);
++b;
printf("%lld能够被整除%lld次\n",n,b);
}
else
printf("不能整除%lld的数有:%lld\n",n,a);
}
return 0;
}
死翘翘了,
2012-06-21 20:40
jokerskill
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:392
专家分:554
注 册:2012-3-4
得分:0 
这有问题吗????
2012-06-21 20:47
jokerskill
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:392
专家分:554
注 册:2012-3-4
得分:0 
long long a;
long long b = 0,n;
长长长长长。。。。。。。整型真汗啊--,
2012-06-21 20:48



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-372009-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.624032 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved