C语言作业,求大神帮忙

作者&投稿:国阮 (若有异议请与网页底部的电邮联系)
c语言作业 求大神帮忙~

#include
#include
#include
#define N 3

struct student
{
char name[8];
char num[8];
float score[3];
float sum,are;
};

struct Stunum
{
struct student stu[N];
int stunum;
};

struct Stunum *p;

void scan(struct Stunum *p)
{
int j,i,n;
for(i=1;i<N+1;i++)
{
printf("第%d位学生的信息::
",i);
printf("name:
");
scanf("%s",p->stu[i].name);
printf("Number:
");
scanf("%s",p->stu[i].num);
for(j=0;j<3;j++)
{
printf("第%d门课程的成绩
",j+1);
scanf("%f",&p->stu[i].score[j]);
p->stu[i].sum+=p->stu[i].score[j];
}
printf("总成绩%.2f
",p->stu[i].sum);
p->stu[i].are=p->stu[i].sum/3;
printf("平均成绩%.2f
",p->stu[i].are);

p->stunum = N;
}
}

void print(struct student *q)
{
int k;
for(k=0;k<N;k++)
{
printf("姓名:%s 学号:%s 科目1:%.2f 科目2:%.2f 科目3:%.2f 总分:%.2f 平均分:%.2f",p->stu[k].name,p->stu[k].num,p->stu[k].score[1],p->stu[k].score[2],p->stu[k].score[3],p->stu[k].sum,p->stu[k].are);
}
}

void chazhao(struct Stunum *p)
{
int low=1,high=N,mid;
float x;

printf("请输入要查找的学生成绩
");
printf("*************
");
scanf("%f",&x);
printf("*************
");

while(low<=high)
{
mid=(low+high)/2;
if(p->stu[mid].sum == x)
{
printf("**************
");
printf("姓名:%s 学号:%s 科目1:%.2f 科目2:%.2f 科目3:%.2f 总分:%.2f 平均分:%.2f",p->stu[mid].name,p->stu[mid].num,p->stu[mid].score[1],p->stu[mid].score[2],p->stu[mid].score[3],p->stu[mid].sum,p->stu[mid].are);
printf("************
");
}
if(x > p->stu[mid].sum)
{
low=mid+1;
}
else
{
high=mid-1;
}
}
}

void paixu(struct Stunum *p)
{
int i,j,k,m;

for(i=0;i<N-1;i++)
{
struct student a;
for(j=N-1;j>0;j--)
if(p->stu[j].sumstu[j-1].sum)
{
strcpy(a.name,p->stu[j-1].name);
strcpy(a.num,p->stu[j-1].num);
a.sum=p->stu[j-1].sum;

strcpy(p->stu[j-1].num,p->stu[j].num);
strcpy(p->stu[j-1].name,p->stu[j].name);
p->stu[j-1].sum=p->stu[j].sum;

strcpy(p->stu[j].num,a.num);
strcpy(p->stu[j].name,a.name);
p->stu[j].sum=a.sum;
}
}
printf("学生成绩排序:
");
printf("*************
");
for(k=1;k<N+1;k++)
{
printf("姓名:%s 学号:%s 科目1:%.2f 科目2:%.2f 科目3:%.2f 总分:%.2f 平均分:%.2f",p->stu[k].name,p->stu[k].num,p->stu[k].score[1],p->stu[k].score[2],p->stu[k].score[3],p->stu[k].sum,p->stu[k].are);
if( p->stu[k].are < 60)
m++;
}
printf("*************
");
printf("总分最高的学生为:
");
printf("姓名:%s 学号:%s 科目1:%.2f 科目2:%.2f 科目3:%.2f 总分:%.2f 平均分:%.2f",p->stu[1].name,p->stu[1].num,p->stu[1].score[1],p->stu[1].score[2],p->stu[1].score[3],p->stu[1].sum,p->stu[1].are);
printf("总分最高的学生为:
");
printf("姓名:%s 学号:%s 科目1:%.2f 科目2:%.2f 科目3:%.2f 总分:%.2f 平均分:%.2f",p->stu[N].name,p->stu[N].num,p->stu[N].score[1],p->stu[N].score[2],p->stu[N].score[3],p->stu[N].sum,p->stu[N].are);
printf("*************
");
printf("不合格人数为%d
",m);
}

int main()
{
int i;
int n = 123456;
p = (struct Stunum*)malloc(sizeof(struct Stunum));

printf("请输入口令:");
scanf("%d",&i);
if(i == n)
{
printf("口令正确");
scan(p);
print(p);
chazhao(p);
paixu(p);
}
else
printf("口令错误");
exit(0);
return 0;
}

//输入月份和订购机票的数量,计算机票优惠率并输出
#include
main()
{
int a,n;
printf("请输入月份:");
scanf("%d",&a);
printf("请输入机票数量:");
scanf("%d",&n); //a为月份,n为机票数量
if(a>=7&&a<=9)
if(n>=20)
printf("优惠率r%: 15");
else printf("优惠率r%: 5");
else if(a>=1&&a<=5||a==10||a==11)
if(n>=20)
printf("优惠率r%: 30");
else printf("优惠率r%: 20");
else if(a==6||a==12)
printf("优惠率r%: 10");
}

//由于时间关系,我也准备断网了,先写了前边4题,剩下的明天有空再帮你补上

1、程序填空1

#include <stdio.h>
#include <string.h>
#define ARR_SIZE 80
main()
{
char str[ARR_SIZE];
int len, i, letter=0, digit=0, space=0, others=0;
gets(str);
for (i=0;i < strlen(str); i++) // strlen(str) 表示输入字符串的长度,如abfdfdf字符串的长度为7
{
if ((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z')) //如果字符是小写的a ~ z 或者大写的 A ~ Z,letter 自加1
letter ++;
else if (str[i] >= '0' && str[i] <= '10')
digit ++;
else if (str[i] == ' ')
space ++;
else
others ++;
}
printf("English character: %d\n", letter);
printf("digit character: %d\n", digit);
printf("space: %d\n", space);
printf("other character: %d\n", others);
}

2、程序填空2

#include <stdio.h>
#define ARR_SIZE 40

int BinSearch(long a[], int n, long x); //一个函数声明,用来查找输入的学号的学生的成绩
main()
{
float score [ARR_SIZE];
int n, i, pos;
long num[ARR_SIZE], x;
printf("Please enter total number:");
scanf("%d", &n);
printf("Please enter the number and score:\n");
for (i=0; i<n; i++)
{
scanf("%ld%f", &num[i], &score[i]);
}
printf("Please enter the searching number:");
scanf("%ld", &x);
pos = BinSearch(num,n,x); //
if (pos != -1) //如果函数BinSearch的返回值不是-1,就表明查找到了学生的成绩并输出,否则输出没有找到
{
printf("score = %4.0f\n", score[pos]);
}
else
{
printf("Not found!\n");
}
}
int BinSearch(long a[], int n, long x)
{
int low, high, mid;
low = 0;
high = n - 1;
while (low <= high)
{
mid = (high + low) / 2;
if (x > a[mid])
{
low = mid; //当输入的学号x大于中间学号a[mid],把中间值mid当做开小值low再重新进行二分法。
}
else if (x < a[mid])
{
high = mid; //当输入的学号x小于中间学号a[mid],把中间值mid当做最高值high再重新进行二分法。
}
else
{
return (mid); //如果当前的学号mid与x一样,就返回这个学生的学号mid
}
}
return(-1); //如果数组num没有符合条件的学号,返回一个-1,程序结束
}

3、改错1

#include <stdio.h>

int BinSearch(long a[], int n, long x); //一个函数声明,用来查找输入的学号的学生的成绩
main()
{
int MyStrcmp(char* ,char*);
char str1[10],str2[10];
gets(str1);
gets(str2);
printf("%d\n",MyStrcmp(str1,str2));
}
int MyStrcmp(char *p1, char *p2)
{
for (; *p1 == *p2; p1++ , p2++)// 两个错 //如果字符串的每一个字符都相等,就执行if语句的内容。
{
if (*p1 == '\0') return 0;// 一个错 //当是字符串p1的最后一个字符时,表明两个字符串是相等的,返回一个零。
}
return *p1 - *p2; // 一个错 //如果两个字符串不相等,返回他们的ASCII码之差
}

4、改错2

#include<stdio.h>
#define MAX 100 //一个错 //去掉分号和等号
void CopyString(char c[],char s[]);
void Insert(char s[]);
void main()
{
char string[MAX];
scanf("%s",string);
Insert(string); // 一个错 //函数调用实参列表只要数组名
printf("%s\n",string);
}
void CopyString(char c[], char s[])
{
int i;
for (i=0; s[i]!='\0'; i++)
{
c[i] = s[i];
}
c[i] = '\0';
}
void Insert(char srcStr[])
{
char strTemp[MAX];
int i = 0, j = 0;
CopyString(strTemp, srcStr);
while (strTemp[j] != '\0') //一个错 //把srcStr改成strTemp
{
srcStr[i] = strTemp[j];
i++;
j++;
srcStr[i] = ' '; //一个错; //插入一个空格字符,用单引号而不是用双引号
i++;
}
srcStr[i] = '\0';//一个错; //字符串末尾要加一个结束符'\0'
}

首先我们计算mpll_val的值。这里涉及两个操作符12就是右移,与左移相反,等于我们又将mpll_val打回原形变成了92,那么下面我们计算92&0xff,这里我们需要知道0xff是一个十六进制数。
以0x开始的数据表示16进制,0xff换成十进制为255。A,B,C,D...

只输入边长的话应该是正方形吧,我就按正方形来写了。如下:
#include
<stdio.h>
void
main()
{
for(;;)
{
int
a;
printf("Please
input
the
side
length
of
the
square:");
scanf("%d",&a);
if
(a<=0)
{
printf("Please
input
correct
parameter!\n");
}
else
{
int
area=a*a;
printf("The
area
of
the
square
is
:%d",area);
system("pause");
return;
}
}
}

1.求出200以内的整数中,最大的可以被17整除的数是哪个数。

#include<stdio.h>
main()
{
int i,max;
for(i=17;i<200;i++)
{
if(i%17==0)max=i;
}
printf("%d
",max);
}

2.以下程序的功能是调用函数fun计算:m=1+2+3+4+…+9+10,并输出结果。

#include<stdio.h>
int fun()
{
int m=0,i;
for(i=1;i<=10;i++)
m=m+i;
return m;
}
main()
{
printf("%d
",fun());
}

3.编程先输入某班10个学生某门课的成绩,对全班10个学生成绩进行由高到低排序,并打印输出排序结果,要求用函数编程实现排序功能。

#include<stdio.h>
#define N 10       
void main()
{
    int i,a[N],t,j;
    for(i=0;i<N;i++) scanf("%d",&a[i]);  
    for(j=1;j<N;j++)          
        for(i=0;i<j;i++)           
            if(a[i]<a[j])            
            {
                t=a[i];a[i]=a[j];a[j]=t;
            }
            printf("排序后:
");
            for(i=0;i<N;i++) printf("%d ",a[i]);
            printf("
");
}

4.输入某学生的考试成绩等级A、B、C、D(或a、b、c、d),要求按照等级输出对应的分数段。A级对应分数段为85~100分;B级对应分数段为70~84分;C级对应分数段为60~69分;D级对应分数段为60分以下。

#include<stdio.h>
void main()
{
    char c;
c=getchar();
if(c=='A'||c=='a') printf("85-100
");
if(c=='B'||c=='b') printf("70-84
");
if(c=='C'||c=='c') printf("60-69
");
if(c=='D'||c=='d') printf("0-60
");
}

5.编程计算1!+2!+3!+……+10!的值

#include<stdio.h>
void main()
{
    int i,j,n=1,sum=0;
for(i=1;i<11;i++)
{
for(j=1;j<=i;j++)
{
n=j*n;
}
sum=n+sum;
n=1;
}
printf("%d
",sum);
}

6.编一程序:从键盘输入8个整数,计算并输出这8个数的平均数。

#include<stdio.h>
void main()
{
    
int i,a[8],sum=0;float average;
for(i=0;i<8;i++)
{
scanf("%d",&a[i]);
sum=a[i]+sum;
}
average=(float)sum/8;
printf("%.2f
",average);
}


//1.求出200以内的整数中,最大的可以被17整除的数是哪个数。for(i=1;i<=200;i++){ if(i%17==0) { print("能被17整除的数是{0}",i); }}
//2.以下程序的功能是调用函数fun计算:m=1+2+3+4+…+9+10,并输出结果。int fun函数:for(i=1;i<=10;i++){ int m=0; m +=i;}

char str[ARR_SIZE]; int len, i, letter=0, digit=0, space=0, others=0; gets(str); for (i=0;___i<str.length______; i++) { if (_______isalnum(i)____________________________) letter ++; else if (_________isdigit(i)____________________) digit ++; else if (_________ isspace(i)___________) space ++; else others ++; }


C语言作业,求大神帮忙
\/\/输入月份和订购机票的数量,计算机票优惠率并输出 include <stdio.h> main(){ int a,n;printf("请输入月份:");scanf("%d",&a);printf("请输入机票数量:");scanf("%d",&n); \/\/a为月份,n为机票数量 if(a>=7&&a<=9)if(n>=20)printf("优惠率r%: 15");else printf("优惠...

c语言作业,求大神帮忙:使用双层 for 循环输出九九乘法口诀表_百度知 ...
include<stdio.h>int main(){ int i,j; for(i=1; i<10; i++) { for(j=1; j<=i; j++) printf("%d*%d=%-4d",i,j,i*j); printf("\\n"); } return 0;}

求大神帮忙!!!C语言作业 感激不尽。。。
5、AC

c语言作业求大神指教 c语言
请记住,在c语言中非0为真,0为假。if ( a )的结果是因为a等于0值而去执行else的内容;else中又判断if (!b),b=1,则为真,取反结果为假,不会执行if (!c)的语句,结果会输出d=20。这里还请注意if (!c)d=15; else d=25;这是一个语句,这个else是跟离他最近的上一个if配对的,...

C语言作业,求大神帮忙
\/\/由于时间关系,我也准备断网了,先写了前边4题,剩下的明天有空再帮你补上 1、程序填空1 include <stdio.h> include <string.h> define ARR_SIZE 80 main(){ char str[ARR_SIZE];int len, i, letter=0, digit=0, space=0, others=0;gets(str);for (i=0;i < strlen(str); ...

c语言作业,,,大神帮忙有分了再补给,今天没分了
\/*1、编写程序,从键盘输入圆的半径r,圆柱的高h,分别计算出圆周长cl、圆面积cs和圆柱的体积cvz。输出计算结果时要求有文字说明,并取小数点后两位数字。*\/#include<stdio.h>main(){float pi=3.141593,c,s,v;int r,h;scanf("%d%d",&r,&h);c=pi*2*r;s=pi*r*r; v=s*h;printf("...

C语言作业,因为要备考没时间写,要源码,求大神帮忙。急!!!
struct Student { char name;int score;};void input(struct Student *pstu, int len);\/\/输入数据 void sort(struct Student *pstu, int len);\/\/成绩排序 void output(struct Student *pstu, int len);\/\/输出 double average(struct Student *pstu, int len);\/\/计算平均成绩 void main(){ i...

c语言作业求大神解答
int m,a;float n;printf("请选择商品类别:1,日用品 2,文具,3,食品\\n");scanf("%d",&a);switch(a){ case 1:getchar();printf("1,牙刷(3.5元\/支) 2,牙膏(9.5元\/支) 3,肥皂(5.0元\/支)\\n");printf("请选择商品:");scanf("%d",&m);getchar();printf("请输入...

c语言作业,请大神帮忙
程序如下,编译工具是VC6++:include <stdio.h>#include <string.h>#defineSTUDENT_NUMBER20#define VOTE_NUMBER 6typedef struct{ints32StudentId; \/\/student idcharstrName[64];\/\/student nameints32VoteNum;\/\/vode numbercharvoteMap[STUDENT_NUMBER];\/\/vote recordcharhaveVoteFlag;}ST_STUDENT_...

【高分悬赏】C语言作业 求大神解答
50 ? (suits * 80) : (suits * 90)+ (shirts - suits) * 60+ (pants - suits) * 45;printf("应付金额: %d\\n", ans);}#include <stdio.h>#include <math.h>#include <stdlib.h>int main() {int a, b, c, d;scanf("%d%d", &a, &b);c = a * b;while (b !

琼山区15733165966: C语言题,求大神帮忙啊C语言作业要求 1.从键盘输入3个字符串,要求找出其中最大者 . 2.写一程序,判断一字符串是否是回文,若是输出YES,否则输出... -
表裕双氯:[答案] 具体代码如下: #include int main() { int a,b,c; scanf("%d%d%d",&a,&b,&c); printf("%d\n",(a=a>b?a:b)> c?a:c); } #include #include int main() { char s[50]; char *p,*q; p = s; gets(s); q = &s[strlen(s)-1]; while(p++ = 0; i--) { if('a'

琼山区15733165966: 大学生C语言编程作业题,请高手帮忙,急! -
表裕双氯: #include int main(void) { int money, year; double interest, rate; /**-----------*/ scanf("%d", &money ); scanf("%d", &year ); scanf("%lf", &rate ); interest=money*pow((1+rate), year )-money ; /*---------*/ printf("interest = %.2f\n", interest);return 0; }

琼山区15733165966: 求大神帮忙指点一下C语言编程作业吧~!!1.设计求完全平方数的函数,其功能是:在3位整数(100—999)中寻找既是完全平方数(某个数的平方),又... -
表裕双氯:[答案] 1 #include #include int find_complete(int b[]) { int i; int cnt=0; int j=10; for(i=100;i { int single = i%100%10; int ten = i%100/10; int hundred = i/100; if(single == ten || ten == hundred || single == hundred) { for(j=10;j { if(j*j == i) { b[cnt++] = i; } } } } return cnt; } ...

琼山区15733165966: 急!!!C语言编程题求大神帮忙解答 -
表裕双氯: 1 2 3 4 5 6 7 8 9 10 11#include <stdio.h> voidmain(){ inti,m,n,num=0,a[1000]; scanf("%d%d",&m,&n); for(i=0;i<n;i++) { scanf("%d",&a[i]); if(m>a[i]) num++; } printf("诸葛亮最多可以战胜%d个对手",num); }

琼山区15733165966: C语言作业,求帮忙,谢谢! -
表裕双氯: 12345678 voidreversion(intary[],intsize){ inti,tmp; for(i=0;i<size/2;i++){ tmp = ary[i]; ary[i] = ary[size-i-1]; ary[size-i-1] = tmp; } }

琼山区15733165966: C语言程序设计 作业,找位高手帮忙解答..谢谢了!全副身家20分,不要嫌弃... -
表裕双氯: 第一题:#include <stdio.h> int main() { char c; scanf("%c", &c); printf("%c\n", c^32); return 0; } 第二题:for循环的#include <stdio.h> int main() { int sum = 0; for (int i = 1; i <= 100; ++i) { sum += i; } printf("%d\n", sum); return 0; } while循环#...

琼山区15733165966: C语言作业题,求帮助 -
表裕双氯: 题目1答案://#include "stdafx.h"//vc++6.0加上这一行.#include "stdio.h" int main(void){ char str[4097]; int i,ch,letter[26]={0,}; printf("Enter a string...\nstr="); gets(str); for(i=0;str[i];i++) if(str[i]='a' || str[i]='A') letter[(str[i]|0x20)-'a']++; for(ch='A',i=0;...

琼山区15733165966: 今天老师布置的C语言作业,请各位高手帮帮忙! -
表裕双氯: 第一题a=n/100;b=n/10%10;c=n-a*100-b*10;m=c*100+b*10+a;n为输入的三位数,m为输出结果a b c为百,十,个位第二题for((a%2+b%2+c%2==2);printf(“YES”)...

琼山区15733165966: C语言作业 急急急 求大神帮忙 -
表裕双氯: 只输入边长的话应该是正方形吧,我就按正方形来写了.如下:#include <stdio.h> void main() { for(;;) { int a; printf("Please input the side length of the square:"); scanf("%d",&a); if (a<=0) { printf("Please input correct parameter!\n"); }else { int area=a*a; printf("The area of the square is :%d",area); system("pause"); return; } } }

琼山区15733165966: c语言编程题求大神帮忙! -
表裕双氯: #include<stdio.h> int main(void) { char string[1000]; char newStr[1000]; int i,k=0,j; gets(string); for (i = 0; string[i]; i++) { if ((string[i] <= 'z'&&string[i] >= 'a') || (string[i] <= 'Z'&&string[i] >= 'A')) { newStr[k++] = string[i]; } } newStr[k] = '\0'; i = 0, j = k - 1; ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网