c语言程序设计网上作业源代码参考
- 格式:docx
- 大小:21.88 KB
- 文档页数:7
水仙花#include <stdio.h>void main(){int a,b,c,i;for( i=100;i<1000;i++){a=i/100;b=i%100/10;c=i%10;if(a*a*a+b*b*b+c*c*c==i){printf("\n");}}}【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去掉不满足条件的排列。
2.程序源代码:#include "stdio.h"#include "conio.h"main(){int i,j,k;printf("\n");for(i=1;i<5;i++) /*以下为三重循环*/for(j=1;j<5;j++)for (k=1;k<5;k++){if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/printf("%d,%d,%d\n",i,j,k);}getch();}【程序2】题目:企业发放的奖金根据利润提成。
利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按1 0%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。
注意定义时需把奖金定义成长整型。
2.程序源代码:#include "stdio.h"#include "conio.h"main(){long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf("%ld",&i);bonus1=100000*0. 1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i<=100000)bonus=i*0.1;else if(i<=200000)bonus=bonus1+(i-100000)*0.075;else if(i<=400000)bonus=bonus2+(i-200000)*0.05;else if(i<=600000)bonus=bonus4+(i-400000)*0.03;else if(i<=1000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonus10+(i-1000000)*0.01;printf("bonus=%d",bonus);getch();}【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。
C语言代码大全C语言是一种高级程序设计语言,广泛应用于计算机科学和软件开发领域。
它以其简洁、高效的特点而备受青睐。
本文将为您介绍一些常用的C语言代码,包括输入输出、流程控制、函数调用、数据结构等方面的代码示例。
一、输入输出1. 标准输入输出```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);printf("您输入的数字是:%d\n", num);return 0;}```2. 文件读写```cint main() {FILE *file;char str[100];// 写入文件file = fopen("data.txt", "w");fprintf(file, "Hello, World!");fclose(file);// 读取文件file = fopen("data.txt", "r");fscanf(file, "%s", str);printf("从文件中读取的内容是:%s\n", str); fclose(file);return 0;}```二、流程控制1. 条件语句```cint main() {int num = 10;if (num > 0) {printf("该数字是正数。
\n"); } else if (num < 0) {printf("该数字是负数。
\n"); } else {printf("该数字是零。
\n"); }return 0;}```2. 循环语句```c#include <stdio.h>int main() {int num = 5;// while循环while (num > 0) {printf("当前数字:%d\n", num); num--;}// for循环for (int i = 0; i < 5; i++) {printf("当前数字:%d\n", i);}// do-while循环do {printf("当前数字:%d\n", num); num++;} while (num < 5);return 0;}```三、函数调用```c#include <stdio.h>int add(int a, int b) {return a + b;}int main() {int num1 = 5;int num2 = 3;int result = add(num1, num2);printf("两个数的和为:%d\n", result); return 0;}```四、数据结构1. 数组```c#include <stdio.h>int main() {int arr[5] = {1, 2, 3, 4, 5};for (int i = 0; i < 5; i++) {printf("数组元素:%d\n", arr[i]); }return 0;}```2. 结构体```c#include <stdio.h>struct Student {char name[20];int age;};int main() {struct Student stu1;strcpy(, "Tom");stu1.age = 18;printf("学生姓名:%s\n", ); printf("学生年龄:%d\n", stu1.age); return 0;}```以上只是C语言代码中的一小部分示例,C语言是一门非常庞大的编程语言,拥有众多的功能和特性。
学校运动会管理系统问题描述:(1) 初始化输入:N-参赛院系总数,M-男子竞赛项目数,W-女子竞赛项目数;(2) 各项目名次取法有如下几种:取前5名:第1名得分 7,第2名得分 5,第3名得分3,第4名得分2,第5名得分 1;(3) 由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。
(4) 所有信息记录完毕后,用户可以查询各个院系或个人的比赛成绩,生成团体总分报表,查看参赛院系信息、获奖运动员、比赛项目信息等。
程序代码:#include<stdio.h>#include<string.h>#define N 3#define M 3#define W 3char* n_number[3]={"1","院系2","院系3"};char* m_number[3]={"1","男项2","男项3"};char* w_number[3]={"女项1","女项2","女项3"};int size=2;struct student{char num[10];char name[20];char xiangmu[20];int score;char ximing[20];}stu[100],temp;void input() //输入原始数据//{int temp = 0;printf("\t************输入界面************\n");printf("请输入:\n运动员号码,姓名,项目名,成绩,系名:\n");for(int i=0;i<size;i++){scanf("%s%s%s%d%s",&stu[i].num,&stu[i].name,&stu[i].xia ngmu,&stu[i].score,&stu[i].ximing);// if(strcmp(stu[i].ximing,n_number[0])==0)// printf(stu[i].ximing);//printf("%s\n",n_number[0]);for(int h=0;h<N;h++)if(strcmp(stu[i].ximing,n_number[h])==0)for(int s=0;s<M;s++){if(strcmp(stu[i].xiangmu,m_number[s])==0)temp = 1;else{for(int k=0;k<M;k++)if(strcmp(stu[i].xiangmu,w_number[k])==0)temp = 1;}}if(temp==0){i=i-1;printf("%s\n","输入信息有误,请重新输入!");}elseprintf("%s\n","本条信息录入完毕!");}printf("%s\n","所有信息录入完毕!");printf("输出:\n运动员号码,姓名,项目名,成绩,系名:\n");for(i=0;i<size;i++)printf("%s\t%s\t%s\t%d\t%s\n",stu[i].num,stu[i].name,st u[i].xiangmu,stu[i].score,stu[i].ximing);}void find() //查找函数//{int temp =0;int scorez = 0;printf("\t************查找界面************\n");printf("\t************1.查询院系比赛成绩************\n");printf("\t************2.查询个人比赛成绩************\n");char fs[20];while(1){int tt=0;printf("请输入编号:");scanf("%d",&tt);switch(tt){case 1:{temp =0;scorez = 0;printf("输入要查询的院系名称:");scanf("%s",&fs);printf("输出:\n系名,运动员号码,姓名,项目名,成绩:\n");for(int j=0;j<size;j++){if(strcmp(stu[j].ximing,fs)==0){temp =1;printf("%s\t%s\t%s\t%s\t%d\n",stu[j].ximing,stu[j].num, stu[j].name,stu[j].xiangmu,stu[j].score);scorez = scorez +stu[j].score;}}if(temp==0)printf("没有找到相应的院系:\n");elseprintf("学院总成绩为:%d\n",scorez);break;}default:temp =0;printf("输入你要查找运动员的号码:");scanf("%s",&fs);printf("输出:\n运动员号码,姓名,项目名,成绩,系名:\n");for(int i=0;i<size;i++){if(strcmp(stu[i].num,fs)==0){temp =1;printf("%s\t%s\t%s\t%d\t%s\n",stu[i].num,stu[i].name,&s tu[i].xiangmu,stu[i].score,stu[i].ximing);}}if(temp==0){printf("你要找的运动员未找到:\n");printf("该运动员缺赛或不存在!\n");}}}}void main(){input() ;find() ;}。
S2_1 #include<iostream>using namespace std;void main(){float a,b,c;cout<<"input a b c\n";cin>>a>>b>>c;if((a+b<c)||(b+c<a)||(a+c<b))cout<<"Not Triangle\n";elsecout<<"Triangle\n";}S2_2#include<iostream>using namespace std;void main(){int year;cout<<"Input year: ";cin>>year;if((year%4==0&&year%100!=0)||(year% 400==0)) cout<<year<<" is a leap year"<<'\n';elsecout<<year<<" is not a leap year"<<'\n';}S2_3#include<iostream>using namespace std;void main(){float a1, a2;char oper;float result;int flag=0;cout<<"请输入简单的运算式:\n"; cin>>a1>>oper>>a2;switch(oper){case'+':result=a1+a2;break;case'-':result=a1-a2;break;case'*':result=a1*a2;break;default:cout<<"输入错误的运算符!\n"; flag=1;}if(flag==0)cout<<a1<<oper<<a2<<"="<<result<<en dl; }S2_4#include<iostream>#include<math.h>using namespace std;void main(){float a,b,c,x1,x2;cout<<"请输入方程的3个系数a b c \n"; cin>>a>>b>>c;x1=(-b+sqrt(b*b-4*a*c))/2*a;x2=(-b-sqrt(b*b-4*a*c))/2*a;if(b*b-4*a*c<0)cout<<"无实根!\n";elsecout<<"x1="<<x1<<endl;cout<<"x2="<<x2<<endl;}S3_1#include<iostream>using namespace std;void main(){int x,y;for(x=1;x<=30;x++)for(y=1;y<=30;y++)if(x+y==30&&2*x+4*y==90) cout<<"鸡有1"<<x<<'\n'<<"兔有"<<y<<endl; }S3_2#include<iostream.h>void main(){int a0,a1,a2;int b;for(a2=1;a2<=9;a2++)for(a1=1;a1<=9;a1++)for(a0=1;a0<=9;a0++){b=100*a2+10*a1+a0;if(b==a2*a2*a2+a1*a1*a1+a0*a0*a0) cout<<b<<endl;}}S3_3#include<iostream.h>void main(){int a0,a1,a2;int b;for(b=100;b<=999;b++){a2=b/100;a1=(b/10)%10;a0=b%10;if(b==a0*a0*a0+a1*a1*a1+a2*a2*a2) cout<<b<<'\t';}}S3_4#include<iostream.h>void main(){int a,b,c;for(a=1;a<=36;a++)for(b=1;b<=36;b++)for(c=1;c<=36;c++)if(a+b+c==36&&a*4+b*2+c/2==36&&c %2==0)cout<<"男人"<<a<<'\n'<<"女人"<<b<<'\n'<<"小孩"<<c<<endl; }S3_5_1#include<iostream.h>void main(){int a;for(a=1;a<=599;a++){if((a%10==5||(a/10)%10==5||(a/10/10)% 10==5)&&(a%3==0)) cout<<a<<endl;}}S3_5_2#include<iostream.h> void main(){int a,b,c=0;cout<<"请输入整数:"; cin>>a;while(a){ b=a%10;c=c+b;a=a/10;}cout<<c<<endl;}S4_1#include<iostream.h> void main(){int a,b;int x,t;cout<<"请输入两个正整数:"; cin>>a>>b;x=a*b;if(a<b){t=a;a=b;b=t;}while(t=a%b){a=b;b=t;}cout<<"最大公约数:"<<b<<endl; cout<<"最小公倍数:"<<x/b<<endl; }S4_2#include<iostream.h>void main(){int a, b,c;cout<<"Input three number:"; cin>>a>>b>>c;for(int i=a;;i--)if(a%i==0&&b%i==0&&c%i==0) break;cout<<i<<endl;}S4_3#include<iostream.h>#include<math.h>void main(){int a;cout<<"请输入一个整数:"; cin>>a;for(int i=2;i<sqrt(a);i++)if(a%i==0)break;if(a%i!=0)cout<<a<<"是素数\n";elsecout<<a<<"不是素数\n";}S4_4#include<iostream.h>void main(){int a,b,c,x;cout<<"Input three number:";cin>>a>>b>>c;for(x=a;;x++)if(x%a==0&&x%b==0&&x%c==0) break;cout<<x<<endl;}S4_5#include<iostream.h>void main(){int a;for(a=100;a<=200;a++){for(int b=2;b<a;b++)if(a%b==0)break;if(a==b)cout<<a<<endl;}}S4_6# include <iostream> using namespace std; int main (){int n,i,sum;for(n=2;n<1000;n++) {//p=n/2;sum=0;for (i=1;i<n;i++) {if (n%i==0)sum =sum+i;}if (sum ==n)cout <<n<<endl;}return 0;}S5_1#include<iostream.h> void main(){int a=2,b=1 ,c=0;for(;b<=7;b++){ c+=a;a=a*10+2;}cout<<c<<endl;}S5_2#include<iostream.h> void main(){int a=2,b=1 ,c=0;for(;b<=7;b++){ c+=a;a=a*10+2;}cout<<c<<endl;}S5_3#include<iostream.h> #include <math.h> double x;int main(){cout<<"Input x :";cin>>x;double y1,y2=x;do{y1=y2;y2=2.0/3.0*y1+x/(3.0*y1*y1); }while(fabs(y1-y2)>=1e-5); cout <<"y="<<y2<<endl;return 0;}S5_4#include<iostream.h>void main(){float x;cout<<"Input x :";cin>>x;int n=1; float g=0;float t=x;do{g+=t;n++;t=-t*x*x/(2*n-1)/(2*n-2); }while(n<=10);cout<<g<<endl;}S6_1include<iostream.h> double abc(double x){double y;y=2*x*x+3*x+5;return y;}void main(){double a,b;a=abc(1);b=abc(1.2);cout<<"a="<<a<<endl; cout<<"b="<<b<<endl; }S6_2#include<iostream.h> #include<math.h> float f(float x) {float y;y=x*x+3*x-4;return y;}float df( float x) {float y;y=2*x+3;return y;}void main(){float x0,x1;x1=0;do{x0=x1;x1=x0-f(x0)/df(x0);} while(fabs(f(x0))>=1e-5); cout<<"x="<<x1<<endl;}S6_3#include<iostream.h>#include<cmath>float f(float x){return x*x+3*x-4;}void main(){float x1,x2,x0;do{cout<<"请输入初值x1和x2: "; cin>>x1>>x2;}while(f(x1)*f(x2)>0); do{x0=(x1+x2)/2;if(f(x0)*f(x1)>0)x1=x0;elsex2=x0;}while(fabs(f(x0))>=1e-5);cout<<"x="<<x0<<endl;}S6_4#include<iostream.h>#include<cmath>float f(float x){return x*x+3*x-4;}void main(){float x1,x2,x0;do{cout<<"请输入初值x1和x2: "; cin>>x1>>x2;}while(f(x1)*f(x2)>0); do{x0=(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1));if(f(x0)*f(x1)>0)x1=x0;elsex2=x0;}while(fabs(f(x0))>=1e-5);cout<<"x="<<x0<<endl;}S7_1 #include<iostream.h>int prime(int x){for(int i=2;i<x/2;i++)if(x%i==0)return 0;return 1;}void main(){for(int x=100;x<=200;x++) {if(prime(x)==1)cout<<x<<'\t';}}S7_2#include<iostream.h>int prime(int num){for(int i=2;i<num/2;i++) if(num%i==0)return 0;return 1;}void main(){int n;cout<<"请输入一个整数n: "; cin>>n;for(int i=2;i<n/2;i++){if(n%i==0&&prime(i)==1) cout<<i<<'\t';}cout<<endl;}S7_3#include<iostream.h>int prime(int a){for(int i=2;i<a/2;i++)if(a%i==0)return 0;return 1;}void main(){int n;do{cout<<"输入一个不小于6的偶数: "; cin>>n;}while(n%2!=0||n<6);for(int i=2;i<n/2;i++){if(prime(i)==1&&prime(n-i)==1)cout<<n<<'='<<i<<'+'<<n-i<<'\n';}cout<<endl;}S7_4#include<iostream.h>int fun(int x){int a,b=1;while(x){a=x%10;b=b*a;x=x/10;}return b;}void main(){int n,mul;cout<<"请输入一个整数(输入0结束): "; cin>>n;while(n){mul=fun(n);cout<<n<<"的各位数之积为"<<mul<<endl; cout<<"请输入一个整数(输入0结束):"; cin>>n;}}S8_1#include<iostream.h>void main(){int a[6]={9,8,7,6,5,4};int i,j,t;int n=6;for(i=0;i<n-1;i++)for(j=0;j<n-i-1;j++){if (a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}for(i=0;i<n;i++)cout<<a[i]<<'\t';cout<<endl;}S8_2#include<iostream.h> void main(){int a[6]={9,8,7,6,5,4}; int i,j,min,t;int n=6;for(j=0;j<n-1;j++){min=j;for(i=j;i<n;i++)if(a[min]>a[i])min=i;t=a[min];a[min]=a[j];a[j]=t;}for(i=0;i<n;i++)cout<<a[i]<<'\t';cout<<endl;}S8_3#include<iostream.h>void main(){int a[10]={2,5,78,4,6,3,89,12,15,34}; int i,max;int n=10;max=0;for(i=0;i<10;i++){if(a[i]>a[max])max=i;}cout<<"max="<<a[max]<<" "<<"maxindex="<<max+1<<endl; }S8_4#include<iostream.h>void main(){int a[5]={8,16,5,14,1};int i,j,n=5;for(i=0;i<n/2;i++){ j=a[i];a[i]=a[n-1-i];a[n-1-i]=j;}for(i=0;i<n;i++)cout<<a[i]<<'\t';}S9_1#include<iostream.h>void main(){int i,j,row=0,colum=0,max;inta[4][4]={{5,12,23,56},{19,28,37,46},{-12, -34,6,8},{4,6,34,1}}; max=a[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(a[i][j]>max){max=a[i][j];row=i;colum=j;}cout<<"max="<<max<<",row="<<ro w<<",colum="<<colum<<endl;}S9_2#include<iostream.h>void main(){int i,j,k;int colum,saddle,max,flag=0;inta[4][4]={{5,12,23,56},{19,28,37,46},{-12, -34,-6,8},{4,6,34,10}}; for(i=0;i<4;i++){max=a[i][0];for(j=0;j<4;j++)if(a[i][j]>max){max=a[i][j];colum=j;}for(k=0;k<4;k++)if(a[k][colum]<max)max=a[k][colum];if(a[k][j]<max){flag=1;saddle=max;break;}}if(flag=1)cout<<"saddle="<<saddle<<",row="<<i<<",colum= "<<colum<<endl; elsecout<<"No Saddle!\n";}S9_3_1#include<iostream.h>void main(){int i,j,k,n=4;inta[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{ 13,14,15,16}}; for(i=0;i<n;i++)for(j=i;j<n;j++){k=a[i][j];a[i][j]=a[j][i];a[j][i]=k;}for(i=0;i<n;i++){for(j=0;j<n;j++){cout<<a[i][j]<<'\t';}cout<<endl;}}S9_3_2#include<iostream.h>void main(){int a[9][9];for(int i=1;i<=9;i++)for(int j=1;j<=i;j++)a[i-1][j-1]=i*j;for(int b=0;b<9;b++){for(int c=0;c<=b;c++)cout<<b+1<<"*"<<c+1<<"="<<a[ b][c]<<"\t"; cout<<endl;}}S9_4#include<iostream.h>void main(){int i,j,a[10][10]={0};a[0][0]=a[1][0]=a[1][1]=1;for(i=2;i<=9;i++){a[i][0]=1;a[i][i]=1;for(j=1;j<=9;j++)a[i][j]=a[i-1][j-1]+a[i-1][j]; }for(i=0;i<=9;i++)for(j=0;j<=i;j++){cout<<a[i][j]<<'\t';if(j==i)cout<<'\n';}} S10_1#include<iostream.h>int gys(int m,int n){int r;if(m<n){r=m;m=n;n=r;}while(r=m%n){m=n;n=r;}return n;}void main(){inta[8]={26,1007,956,705,574,371,416,517}; int b[8]={994,631,772,201,262,763,1000,781 };int c[8];for(int i=0;i<8;i++) c[i]=gys(a[i],b[i]); for(i=0;i<8;i++) cout<<c[i]<<'\t'; cout<<endl;}S10_2#include<iostream.h> int fun(int x){int sum=0;while(x){sum+=x%10;x=x/10;}return sum;}void main(){ int a[10],b[10];int sum=0;cout<<"请输入10个整数: \n"; for(int i=0;i<10;i++)cin>>a[i];for(i=0;i<10;i++){b[i]=fun(a[i]);sum+=a[i];}cout<<"sum="<<sum<<endl;for(i=0;i<10;i++)cout<<a[i]<<'\t'<<b[i]<<endl; }S10_3#include<iostream.h>int fun(int x){int sum=0;while(x){sum+=x%10;x/=10;}if(sum==10)return 1;elsereturn 0;}void main(){int a[1001],num=0,x;cout<<"请输入一个大于100小于1000的数:";cin>>x;for(int i=100;i<=x;i++){a[i]=i;if(fun(a[i])==1){cout<<a[i]<<'\t';num++;}}cout<<'\n'<<"共"<<num<<"个"<<'\n'; }S10_4#include<iostream.h>int prime(int num) //函数prime判断参数num是否为素数,若为素数函数返回1,否则返回0{ for(int i=2;i<num/2;i++)if(num%i==0)return 0;return 1;}void main(){int num=0;inta[]={55,154,103,106,151,58,199,10,247,2 18,39,170,87,122,135}; int n=sizeof(a)/sizeof(a[0]);for(int i=0;i<n;i++)if(prime(a[i])==1){cout<<a[i]<<'\t';num++;}cout<<'\n'<<"共"<<num<<"个"<<endl;}S11_1#include<iostream.h>int binary(int array[],int n,int number) { int low=0,high=n-1,mid;while(low<=high){mid=(low+high)/2;if(number<array[mid])high=mid-1;else if(number>array[mid])low=mid+1;elsereturn mid;}return -1;}void main(){inta[]={2,4,6,8,10,12,14,16,18,20,22,24};int num;cout<<"请输入要寻找的数: ";cin>>num;intindex=binary(a,sizeof(a)/sizeof(a[0]),nu m); if(index!=-1)cout<<"该数在数组中的序号为: "<<index<<endl; elsecout<<"数组中没有该元素\n";}S11_2#include<iostream.h>int del(int array[],int n){for(int i=0;i<n-1;i++)if(array[i]==array[i+1]){for(int j=i+2;j<n;j++)array[j-1]=array[j];n=n-1;i=i-1;}return n;}void main(){inta[]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,1 0}; int n=del(a,sizeof(a)/sizeof(a[0]) );for(int i=0;i<n;i++)cout<<a[i]<<'\t';cout<<endl;}S11_3#include<iostream.h>int f(int a[],int n){ int c=0;for(int e=n;e>0;e--)if(a[e-1]>a[e]){c=a[e-1];a[e-1]=a[e];a[e]=c;}return n; }void main(){ int s[1000];int i=0,n=0;cout<<"请输入数字(输入0结束):"<<endl; cin>>s[0];while(s[i]!=0){ n=f(s,i);i++;cin>>s[i];}for(int d=0;d<i;d++)cout<<s[d]<<'\t';cout<<endl;}S11_4#include<iostream.h>void main(){int a[]={5,26,98,77,1,27,30};int b[10]={0,0,0,0,0,0,0,0,0,0}; int c, n=sizeof(a)/sizeof(a[0]); for(int i=0;i<n;i++)while(a[i]){c=a[i]%10;b[c]++;a[i]=a[i]/10;}for(int j=0;j<10;j++)cout<<b[j]<<'\t';}S12_1#include<iostream.h>void main(){char s[1000];cout<<"请输入一行字符串:\n"; cin.getline(s,200);int a=0,b=0,c=0;for(int i=0;s[i]!='\0';i++) {if(s[i]>='A'&&s[i]<='Z')a++;else if(s[i]>='a'&&s[i]<='z')b++;else if(s[i]>='0'&&s[i]<='9')c++;}cout<<"大写字母个数:"<<a<<'\t'<<"小写字母个数:"<<b<<'\t'<<"数字字符个数:"<<c<<endl;}S12_2#include<iostream.h>#include<string.h>void main(){char str[100];int flag=0;cout<<"Input a string:\n";cin.getline(str,100);for(int i=0;str[i]!='\0';i++){if(str[i]>='a'&&str[i]<='z'&&flag= =0) {str[i]=str[i]-32;flag=1;}if(str[i]==' '||str[i]=='\n')flag=0;}cout<<"thr result is:\n";cout<<str<<endl;}S12_3#include<iostream.h>#include<string.h>。
C语言程序设计及程序代码C语言是一种广泛应用于程序设计的高级编程语言,它可以用于开发各种类型的应用程序,包括操作系统、嵌入式系统、游戏等。
C语言有着简洁、高效的特点,使得它成为了很多程序员的首选编程语言之一在C语言中,程序的核心是函数。
一个C程序由一个或多个函数组成,每个函数都是一组语句的集合。
函数可以接受参数并返回一个值。
C语言提供了丰富的库函数,可以方便地进行输入输出、数学运算、字符串操作等。
下面是一个简单的C语言程序示例,通过输入两个数并计算它们的和:```c#include <stdio.h>int maiint num1, num2, sum;printf("请输入第一个数:");scanf("%d", &num1);printf("请输入第二个数:");scanf("%d", &num2);sum = num1 + num2;printf("两个数的和为:%d\n", sum);return 0;```在上述程序中,首先我们在程序开始处包含了`<stdio.h>`头文件,它是C语言标准库中的一个输入输出函数库。
然后,我们定义了一个`main(`函数作为程序的入口。
在函数内部,我们声明了三个整型变量`num1`、`num2`和`sum`,用于存储用户输入的数以及计算结果。
接下来,在使用`printf(`函数输出提示信息后,我们使用`scanf(`函数接受用户输入的两个数并将其赋值给`num1`和`num2`变量。
然后,我们使用`sum = num1 + num2`语句计算两个数的和。
最后,我们使用`printf(`函数输出计算结果,并通过`return 0`语句结束程序。
通过这个简单的例子,我们可以看出C语言的基本语法结构是很简洁和易于理解的。
除了基本的输入输出操作,C语言还提供了丰富的语法和数据类型,可以进行循环、条件判断、数组、指针等操作,使得程序设计更加灵活和高效。
c语言课程设计源代码一、课程目标知识目标:1. 理解C语言课程设计中源代码编写的基本原理和方法;2. 学会运用C语言的基本语法,掌握函数、控制结构、数据类型等知识点的综合运用;3. 掌握C语言程序调试和错误处理的方法。
技能目标:1. 能够独立完成C语言课程设计的源代码编写,具备实际编程能力;2. 学会使用集成开发环境(IDE)进行代码编写、调试和运行;3. 能够运用所学知识解决实际问题,提高问题分析和解决能力。
情感态度价值观目标:1. 培养学生对C语言的兴趣,激发学习热情,树立编程自信心;2. 培养学生团队协作精神,学会与他人分享、讨论和解决问题;3. 增强学生的创新意识和实践能力,培养良好的编程习惯。
课程性质分析:本课程为C语言课程设计,侧重于实践操作。
学生需具备一定的C语言基础知识,能够运用所学知识进行源代码编写。
学生特点分析:1. 学生处于具备一定编程基础知识的阶段,需要通过实践提高编程能力;2. 学生对编程有一定的兴趣,但可能存在畏难情绪,需要鼓励和指导;3. 学生个体差异较大,需要因材施教,关注每个学生的学习进度。
教学要求:1. 结合课本内容,注重理论与实践相结合,提高学生的实际编程能力;2. 强化课堂互动,关注学生个体差异,进行针对性指导;3. 创设实际编程场景,激发学生学习兴趣,培养创新意识和实践能力。
二、教学内容1. C语言基础知识回顾:变量、数据类型、运算符、表达式;2. 控制结构:顺序结构、分支结构、循环结构;3. 函数:函数定义、调用、参数传递、递归;4. 数组:一维数组、二维数组、字符串;5. 指针:指针的定义、使用、指针与数组、指针与函数;6. 结构体与共用体:结构体的定义、使用,共用体的概念;7. 文件操作:文件打开、关闭、读写、定位;8. 课程设计案例:分析案例需求,设计源代码框架,编写、调试和优化代码;9. 编程规范和技巧:命名规则、注释、代码组织、调试方法。
教学内容安排与进度:1. C语言基础知识回顾(1课时);2. 控制结构(2课时);3. 函数(2课时);4. 数组(2课时);5. 指针(3课时);6. 结构体与共用体(2课时);7. 文件操作(2课时);8. 课程设计案例(4课时);9. 编程规范和技巧(1课时)。
c 课程设计 源代码一、课程目标知识目标:1. 学生能理解源代码的基本概念,掌握编程语言的基本语法结构。
2. 学生能运用所学知识编写简单的程序,实现基础的计算和控制功能。
3. 学生了解编程中的顺序、选择和循环三种基本结构,并能运用到实际编程中。
技能目标:1. 学生能运用编程工具进行代码编写、调试和运行,具备基本的编程能力。
2. 学生能通过分析问题,设计简单的算法,并将其转化为源代码实现。
3. 学生能通过课堂讨论和小组合作,提高问题解决和团队协作能力。
情感态度价值观目标:1. 学生对编程产生兴趣,培养探索精神和创新意识。
2. 学生在学习过程中,养成严谨、细心的良好习惯,提高自我纠错能力。
3. 学生通过编程学习,认识到信息技术在生活中的应用,增强社会责任感和使命感。
课程性质:本课程为信息技术学科的基础课程,旨在培养学生的编程兴趣和基本技能,为后续学习打下基础。
学生特点:六年级学生具备一定的逻辑思维能力,对新事物充满好奇,但注意力容易分散,需要通过生动的教学方式激发学习兴趣。
教学要求:结合学生特点,采用任务驱动、案例教学等方法,注重实践操作,鼓励学生主动探索,提高编程能力。
同时,关注学生的情感态度,培养良好的学习习惯和价值观。
通过分解课程目标,为教学设计和评估提供依据,确保课程目标的实现。
二、教学内容根据课程目标,本章节教学内容主要包括以下几部分:1. 源代码基本概念:介绍源代码的定义、作用以及编程语言的发展历程。
- 教材章节:第一章 计算机编程基础2. 编程语言基本语法结构:讲解变量、数据类型、运算符、表达式等基本概念。
- 教材章节:第二章 Python语言基础3. 程序设计基本结构:学习顺序、选择(条件)、循环三种基本结构。
- 教材章节:第三章 程序设计结构4. 编程工具使用:学会使用编程软件(如IDLE)进行代码编写、调试和运行。
- 教材章节:第四章 Python编程环境5. 简单算法设计:通过实例,引导学生学习如何分析问题并设计简单算法。
几种常见的算法源代码C语言版以下是几种常见的算法的C语言版源代码:1.冒泡排序算法:```#include <stdio.h>void bubbleSort(int arr[], int n)int i, j, temp;for (i = 0; i < n-1; i++)for (j = 0; j < n-i-1; j++)if (arr[j] > arr[j+1])temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}}int maiint arr[] = {64, 34, 25, 12, 22, 11, 90};int n = sizeof(arr)/sizeof(arr[0]);bubbleSort(arr, n);printf("Sorted array: \n");for (int i=0; i < n; i++)printf("%d ", arr[i]);return 0;```2.选择排序算法:```#include <stdio.h>void selectionSort(int arr[], int n)int i, j, minIndex, temp;for (i = 0; i < n-1; i++)minIndex = i;for (j = i+1; j < n; j++)if (arr[j] < arr[minIndex])minIndex = j;}}temp = arr[minIndex];arr[minIndex] = arr[i];arr[i] = temp;}int maiint arr[] = {64, 25, 12, 22, 11};int n = sizeof(arr)/sizeof(arr[0]);selectionSort(arr, n);printf("Sorted array: \n");for (int i=0; i < n; i++)printf("%d ", arr[i]);return 0;```3.插入排序算法:```#include <stdio.h>void insertionSort(int arr[], int n)int i, j, temp;for (i = 1; i < n; i++)temp = arr[i];j=i-1;while (j >= 0 && arr[j] > temp)arr[j+1] = arr[j];j=j-1;}arr[j+1] = temp;}int maiint arr[] = {12, 11, 13, 5, 6};int n = sizeof(arr)/sizeof(arr[0]);insertionSort(arr, n);printf("Sorted array: \n");for (int i=0; i < n; i++)printf("%d ", arr[i]);return 0;```4.快速排序算法:```#include <stdio.h>void swap(int* a, int* b)int t = *a;*a=*b;*b=t;int partition(int arr[], int low, int high) int pivot = arr[high];int i = (low - 1);for (int j = low; j <= high- 1; j++)if (arr[j] < pivot)i++;swap(&arr[i], &arr[j]);}}swap(&arr[i + 1], &arr[high]);return (i + 1);void quickSort(int arr[], int low, int high) if (low < high)int pi = partition(arr, low, high); quickSort(arr, low, pi - 1);quickSort(arr, pi + 1, high);}int maiint arr[] = {10, 7, 8, 9, 1, 5};int n = sizeof(arr)/sizeof(arr[0]); quickSort(arr, 0, n-1);printf("Sorted array: \n");for (int i=0; i < n; i++)printf("%d ", arr[i]);return 0;```。
初学编程100个代码大全c语言当初学编程时,了解一些常见的代码示例是非常有帮助的。
以下是一些常见的C语言代码示例,总共100个,供你参考:1. Hello World程序:c.#include <stdio.h>。
int main() {。
printf("Hello, World!\n");return 0;}。
2. 计算两个数的和:#include <stdio.h>。
int main() {。
int num1, num2, sum;printf("Enter two numbers: "); scanf("%d %d", &num1, &num2); sum = num1 + num2;printf("Sum = %d\n", sum);return 0;}。
3. 判断一个数是奇数还是偶数:#include <stdio.h>。
int main() {。
int num;printf("Enter a number: ");scanf("%d", &num);if (num % 2 == 0) {。
printf("%d is even.\n", num); } else {。
printf("%d is odd.\n", num); }。
return 0;}。
4. 判断一个数是正数、负数还是零:c.#include <stdio.h>。
int main() {。
int num;printf("Enter a number: ");scanf("%d", &num);if (num > 0) {。
printf("%d is positive.\n", num);} else if (num < 0) {。
c大作业学生信息管理系统源代码IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】学生信息管理系统源代码:#include<>#include<>#include<>#include<>#include<>#include<>structstudent{charnum[30];intmaths;charname[30];intchinese;charclas[30];intenglish;inttotal;floataverage;student*next;};<<endl;abort();}(t,80);while(instuf>>num0>>name0>>clas0>>chinese0>>maths0>>english0){s=newstudent;strcpy(s->num,num0);strcpy(s->name,name0);strcpy(s->clas,clas0);s->chinese=chinese0;s->maths=maths0;s->english=english0;s->total=s->chinese+s->maths+s->english;s->average=float(s->total)/3;if(head==NULL)head=s;elsep->next=s;p=s;}p->next=NULL;();}<<endl;abort();}outstuf<<"学号姓名班级语文数学英语总分均分序号"<<endl;while(head){outstuf<<head->num<<""<<head->name<<'\t'<<head->clas<<'\t'<<""<<head->chinese<<'\t'<<head->maths<<'\t'<<head->english<<'\t'<<head->total<<'\t'<<setprecision(3)<<head->average<<'\t'<<""<<n<<endl;n=n+1;head=head->next;}();}voidmain(){student*head=NULL;intn;chars[30];cout<<"********************************************************************************"; cout<<"*★欢迎使用学生成绩管理系统★*";cout<<"*管理员:XXX*";cout<<"*请选择您想使用的功能:*";cout<<"*功能名请输入功能名请输入*";cout<<"*◆导入学生成绩文件1◆按学号小到大排序7*";cout<<"*◆插入学生成绩信息2◆按姓名首字母排序8*";cout<<"*◆删除学生成绩信息3◆按班级的类别排序9*";cout<<"*◆修改学生成绩信息4◆导出学生成绩文件10*";cout<<"*◆查询学生成绩信息5◆其它功能......*";cout<<"*◆按成绩高到低排序6◆退出管理系统0*";cout<<"********************************************************************************"; cout<<"您的输入是:";cin>>n;createlist(head);while(n>0){switch(n){case1:cout<<"导入的需管理的学生成绩信息表:"<<endl;showlist(head);break;case2:charu(head);cout<<"插入后的学生成绩信息表:"<<endl;showlist(head);break;case3:shanchu(head);cout<<"删除后的学生成绩信息表:"<<endl;showlist(head);break;case4:change(head);cout<<"修改后的学生成绩信息表:"<<endl;showlist(head);break;case5:cout<<"请选择查询学生成绩的方式:"<<endl;cout<<"方式请输入方式请输入"<<endl;cout<<"●查询个人成绩1●查询数学成绩4"<<endl;cout<<"●查询班级成绩2●查询英语成绩5"<<endl;cout<<"●查询语文成绩3●查询总分成绩6"<<endl;cout<<"您的输入是:";cin>>n;switch(n){case1:geren(head);break;case2:zongfen(head);chabanji(head);break;case3:yuwen(head);chayuwen(head);break;case4:shuxue(head);chashuxue(head);break;case5:yingyu(head);chayingyu(head);break;case6:zongfen(head);chazongfen(head);break;}break;case6:cout<<"请选择需排序的成绩的类型:"<<endl;cout<<"类型请输入类型请输入"<<endl;cout<<"●按语文成绩排序1●按英语成绩排序3"<<endl; cout<<"●按数学成绩排序2●按总分成绩排序4"<<endl; cout<<"您的输入是:";cin>>n;switch(n){case1:yuwen(head);cout<<"按【语文】成绩排序后的学生成绩信息表:"<<endl; showlist(head);break;case2:shuxue(head);cout<<"按【数学】成绩排序后的学生成绩信息表:"<<endl; showlist(head);break;case3:yingyu(head);cout<<"按【英语】成绩排序后的学生成绩信息表:"<<endl; showlist(head);break;case4:zongfen(head);cout<<"按【总分】成绩排序后的学生成绩信息表:"<<endl;showlist(head);break;}break;case7:xuehao(head);cout<<"按【学号】从小到大排序后的学生成绩信息表:"<<endl;showlist(head);break;case8:xingming(head);cout<<"按【姓名】首字母排序后的学生成绩信息表:"<<endl;showlist(head);break;case9:banji(head);cout<<"按【班级】的类别排序后的学生成绩信息表:"<<endl;showlist(head);break;case10:cout<<"请选择需导出的学生成绩数据文件的内容:"<<endl;cout<<"内容请输入内容请输入";cout<<"●按总分成绩排序的成绩表1●按姓名首字母排序的成绩表3";cout<<"●按学号大小排序的成绩表2●按班级分类别排序的成绩表4";cout<<"您的输入是:";cin>>n;switch(n){case1:zongfen(head);cout<<"按【总分】成绩排序的成绩表已导出"<<endl;cout<<"在生成的文件中"<<endl;cout<<"请注意查看!"<<endl;strcpy(s,"");show(head,s);break;case2:xuehao(head);cout<<"按【学号】大小排序的成绩表已导出"<<endl;cout<<"在生成的文件中"<<endl;cout<<"请注意查看!"<<endl;strcpy(s,"");show(head,s);break;case3:xingming(head);cout<<"按【姓名】首字母排序的成绩表已导出"<<endl;cout<<"在生成的文件中"<<endl;cout<<"请注意查看!"<<endl;strcpy(s,"");show(head,s);break;case4:banji(head);cout<<"按【班级】分类排序的成绩表已导出"<<endl;cout<<"在生成的文件中"<<endl;cout<<"请注意查看!"<<endl;strcpy(s,"");show(head,s);break;}break;}cout<<"继续操作请按回车键!"<<endl;cgets(s);cout<<endl<<endl<<endl;cout<<"********************************************************************************"; cout<<"*★欢迎使用学生成绩管理系统★*";cout<<"*管理员:XXX*";cout<<"*请选择您想使用的功能:*";cout<<"*功能名请输入功能名请输入*";cout<<"*◆导入学生成绩文件1◆按学号小到大排序7*";cout<<"*◆插入学生成绩信息2◆按姓名首字母排序8*";cout<<"*◆删除学生成绩信息3◆按班级的类别排序9*";cout<<"*◆修改学生成绩信息4◆导出学生成绩文件10*";cout<<"*◆查询学生成绩信息5◆其它功能......*";cout<<"*◆按成绩高到低排序6◆退出管理系统0*";cout<<"********************************************************************************"; cout<<"您的输入是:";cin>>n;}cout<<endl<<"您所使用的功能已完成,谢谢使用!"<<endl;cout<<"欢迎再次使用!"<<endl<<endl;}。
c 课程设计源代码一、课程目标知识目标:1. 学生能理解并掌握课程内容相关的核心概念,如基本算法原理和编程逻辑。
2. 学生能够掌握并运用C语言的基本语法结构,如变量定义、数据类型、运算符、控制结构等。
3. 学生能够运用所学知识,独立编写并调试简单的C语言程序。
技能目标:1. 学生能够通过本课程的学习,培养逻辑思维能力和问题解决能力。
2. 学生能够运用C语言进行基本的程序设计,具备初步的编程能力。
3. 学生能够通过团队合作,共同完成复杂的编程任务,提高沟通与协作能力。
情感态度价值观目标:1. 学生对编程产生兴趣,培养对计算机科学的热爱和好奇心。
2. 学生在编程过程中,养成严谨、细心的学习态度,培养面对困难的勇气和毅力。
3. 学生通过编程解决问题,体会科技对社会发展的贡献,树立正确的价值观。
课程性质:本课程为信息技术学科,以实践操作为主,注重培养学生的动手能力和实际应用能力。
学生特点:六年级学生具有一定的逻辑思维能力,对新事物充满好奇心,但注意力容易分散,需要通过生动有趣的教学方法激发学习兴趣。
教学要求:结合学生特点,教师应采用任务驱动、案例教学等方法,引导学生主动探索、实践,确保课程目标的实现。
在教学过程中,注重个体差异,关注学生的学习进展,及时调整教学策略,确保每个学生都能达到预期的学习成果。
通过本课程的学习,使学生能够将理论知识与实际应用相结合,为后续学习打下坚实基础。
二、教学内容根据课程目标,教学内容主要包括以下几部分:1. C语言基础知识:变量、数据类型、常量和变量、运算符、表达式等。
- 教材章节:第一章《C语言概述》2. C语言控制结构:顺序结构、分支结构(if-else)、循环结构(for、while)等。
- 教材章节:第二章《C语言基本控制结构》3. 函数:函数的定义、调用、参数传递、返回值等。
- 教材章节:第三章《函数》4. 数组:一维数组、二维数组、数组的初始化、数组的应用等。
- 教材章节:第四章《数组》5. 指针:指针的定义、指针与数组、指针与函数等。
C语言程序设计附源代码//中国象棋#include<stdio.h>#include<Windows.h>#include<stdlib.h>//定义棋盘int board[10][9] =0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0};//全局变量bool flag;//游戏函数声明void SetCursor(int, int); // 移动光标位置void PrintChessBoard(; // 打印棋盘void TravelChessBoard(; // 遍历棋子void MoveChess(int, int, int, int); // 移动棋子void DeleteChess(int, int); // 吃子bool CanMove(int, int, int, int); // 判断走法是否合理bool IsKing(int, int, int, int); // 是否将帅相对bool IsOver(; // 游戏是否结束//主函数int mainPrintChessBoard(;TravelChessBoard(;return 0;//打印棋盘void PrintChessBoardprintf("欢迎来到中国象棋\n");printf(" 1 2 3 4 5 6 7 8 9\n");printf(" +-----------------+\n");for(int i=0; i<9; i++) printf("%d,",i+1);for(int j=0; j<9; j++) switch(board[i][j]) case 0:printf(" ");break;case 1:printf("帅");break;case 2:printf("将");break;case 3:printf("兵");break;case 4:printf("马");break;printf("象");break;case 6:printf("炮");break;case 7:printf("车");break;}printf(" ");}printf(",\n");}printf(" +-----------------+\n"); //寻找棋子void TravelChessBoardwhile(!IsOver()//玩家1pswh = 1;。
#include <stdio.h>#include <string.h>#include <stdlib.h>#include <conio.h>#define SIZE1 7long a;//学生学号int m,n,all;//统计所用的全局变量char s[30];//学生姓名FILE *C;//课程信息文件指针FILE *S;//学生信息文件指针struct course//课程信息结构体{int num;//课程编号char name[30];//课程名称int score;//课程学分char nianji[30];//面向的年级char zhuanye[30];//面向的专业int yixuan;//已选的人数int shangxian;//选课的人数上限}course[SIZE1],*P;struct student//学生信息结构体{int number;//学生学号char name[30];//学生姓名char banji[30];//学生班级}student[100],*Q;void zhucaidan()//主菜单{printf("\n");printf("************************************************************************* *******");printf("\n\t\t\t欢迎使用学生选课系统\n");printf("1.录入课程信息\n");printf("2.录入学生信息\n");printf("3.学生选课\n");printf("4.退出系统\n");printf("************************************************************************* *******");printf("\n请输入你要选择的菜单项:");}void filecourse()//从文件录入课程信息{int i;FILE *W;P=course;printf("课程编号课程名称\t课程学分年级\t 专业已选人数上限\n");W=fopen("课程信息文件","rb");for (i=0;i<SIZE1;i++){fread(&course[i],sizeof(struct course),1,W);printf("%d\t%8s\t %d \t%8s\t%8s\t%d \t%d\n",P[i].num,P[i].name,P[i].score,P[i].nianji,P[i].zhuanye,P[i].yixuan,P[i].shangxian);}fclose(W);}void keycourse()//从键盘录入课程信息{int k;P=course;printf("输入#结束录入\n");if ((C=fopen("课程信息文件","wb+"))==NULL){printf("不能打开文件");exit(1);}printf("课程名称课程编号\t课程学分\t面向的年级\t面向的专业\t人数上限\n");for (k=0;k<SIZE1;k++){scanf("%s",&P[k].name);if(strcmp(P[k].name,"#")==0) break;scanf("%d%d%s%s%d",&P[k].num,&P[k].score,&P[k].nianji,&P[k].zhuanye,&P[k].shangxian);if (fwrite(&course[k],sizeof(struct course),1,C)!=1)printf("文件写入错误");}fclose(C);}void keystudent()//从键盘录入学生信息{int i;Q=student;printf("输入#结束录入\n");if ((S=fopen("学生课息文件","wb+"))==NULL){printf("不能打开文件");exit(1);}printf("学生姓名\t学生学号\t学生班级\n");for (i=0;i<10;i++,all=i){scanf("%s",&Q[i].name);if(strcmp(Q[i].name,"#")==0) break;scanf("%d%s",&Q[i].number,&Q[i].banji);if (fwrite(&student[i],sizeof(struct student),1,S)!=1)printf("文件写入错误");}fclose(S);}void filestudent()//从文件录入学生信息{int i;printf("学生学号学生姓名学生班级\n");for (i=0;i<all;i++){fread(&student[i],sizeof(struct student),1,S);printf("%d\t\t%8s\t%8s\n",Q[i].number,Q[i].name,Q[i].banji);}fclose(S);}void zstudent()//录入学生信息子程序{int i;system("cls");printf("\t\t\t录入学生信息\n");printf("1.从键盘录入\n");printf("2.从文件录入\n");printf("3.返回主菜单\n");printf("请输入你要选择的选项:");scanf("%d",&i);switch (i){case(1):keystudent();break;case(2):filestudent();break;case(3):zhucaidan();break;}}void zcourse()//选课函数目录{int j;system("cls");printf("\t\t\t录入课程信息\n");printf("1.从键盘录入\n");printf("2.从文件录入\n");printf("3.返回主菜单\n");printf("\n请输入你要选择的菜单项:");scanf("%d",&j);switch (j){case(1):keycourse();break;case(2):filecourse();break;case(3):system("cls");break;}}void xuanke()//选择课程函数{FILE *Y;Y=fopen("选课.txt","w+");if(Y==NULL){printf("不能打开文件!\n");exit(1);}fanhui:printf("请输入你要选择的第一门课程编号:");scanf("%d",&m);fprintf(Y,"%d",m);if(m<1||m>7){printf("警示:不存在此课程,请重新输入\n");goto fanhui;}switch(m){case(1):printf("你选择了1.< dianlu >\n");break;case(2):printf("你选择了2.< Cyuyan >\n");break;case(3):printf("你选择了3.< xiandai >\n");break;case(4):printf("你选择了4.< daxuewuli >\n");break;case(5):printf("你选择了5.< dianji >\n");break;case(6):printf("你选择了6.< heike >\n");break;case(7):printf("你选择了7.< wanye >\n");break;}printf("请输入你要选择的第二门课程编号:");scanf("%d",&n);fprintf(Y,"%d",n);if(n<1||n>7){printf("警示:不存在此课程,请重新输入\n");goto fanhui;}switch(n){case(1):printf("你选择了1.< dianlu >\n");break;case(2):printf("你选择了2.< Cyuyan >\n");break;case(3):printf("你选择了3.< xiandai >\n");break;case(4):printf("你选择了4.< daxuewuli >\n");break;case(5):printf("你选择了5.< dianji >\n");break;case(6):printf("你选择了6.< heike >\n");break;case(7):printf("你选择了7.< wangye >\n");break;}fclose(Y);}void courselist()//课程列表{int i;printf("编号课程名称\t 课程学分\t 已选人数\t 人数上限\n");for (i=0;i<7;i++)printf("%d\t%8s\t\t%d\t%8d\t\t%d\n",course[i].num,course[i].name,course[i].score,course[i].yixua n,course[i].shangxian);xuanke();}void k2course()//课程列表2{int i;FILE *W;printf("\n你最多只能选择以下课程中的两门课程\n\n");P=course;printf("课程编号课程名称\t课程学分年级\t 专业已选人数上限\n");W=fopen("课程信息文件","rb");for (i=0;i<SIZE1;i++){fread(&course[i],sizeof(struct course),1,W);printf("%d\t%8s\t %d \t%8s\t%8s\t%d \t%d\n",P[i].num,P[i].name,P[i].score,P[i].nianji,P[i].zhuanye,P[i].yixuan,P[i].shangxian);}fclose(W);xuanke();}void chakanc()//查看已选课程{switch(m){case(0):break;case(1):printf("你选择了1.< dianlu >");break;case(2):printf("你选择了2.< Cyuyan >");break;case(3):printf("你选择了3.< xiandai >");break;case(4):printf("你选择了4.< daxuewuli >");break;case(5):printf("你选择了5.< dianji >");break;case(6):printf("你选择了6.< heike >");break;case(7):printf("你选择了7.< wangye >");break;}switch(n){case(0):break;case(1):printf("和1.< dianlu >\n");break;case(2):printf("和2.< Cyuyan >\n");break;case(3):printf("和3.< xiandai >\n");break;case(4):printf("和4.< daxuewuli >\n");break;case(5):printf("和5.< dianji >\n");break;case(6):printf("和6.< heike >\n");break;case(7):printf("和7.< wangye >\n");break;}}void delcourse()//删除课程{int i;chakanc();restart:printf("请输入你要删除的课程编号:");scanf("%d",&i);if(i==m)switch(m){case(0):break;case(1):m=0;printf("你删除了1.< dianlu >");break;case(2):m=0;printf("你删除了2.< Cyuyan >");break;case(3):m=0;printf("你删除了3.< xiandai >");break;case(4):m=0;printf("你删除了4.< daxuewuli >");break;case(5):m=0;printf("你删除了5.< dianji >");break;case(6):m=0;printf("你删除了6.< heike >");break;case(7):m=0;printf("你删除了7.< wangye >");break;}else if(i==n)switch(n){case(0):break;case(1):n=0;printf("你删除了1.< dianlu >");break;case(2):n=0;printf("你删除了2.< Cyuyan >");break;case(3):n=0;printf("你删除了3.< xiandai >");break;case(4):n=0;printf("你删除了4.< daxuewuli >");break;case(5):n=0;printf("你删除了5.< dianji >");break;case(6):n=0;printf("你删除了6.< heike >");break;case(7):n=0;printf("你删除了7.< wangye >");break;}else{printf("警示:请输入正确的课程编号\n");goto restart;}}void k1course()//课程列表目录{int i;if (a>0&&a<=10){printf("\t\t\t请选择你要进入的项目\n");printf("1.查看可选课程\n");printf("2.课程选择\n");printf("3.查看已选课程\n");printf("4.删除课程\n");printf("5.返回到主菜单\n");printf("请选择:");scanf("%d",&i);switch (i){case(1):filecourse();break;case(2):k2course();break;case(3):chakanc();break;case(4):delcourse();break;case(5):zhucaidan();break;}}elseprintf("请输入正确的学号");}void zchoose()//输入基本的选课所需要的信息{system("cls");printf("\t\t\t学生选课\n");printf("请输入你的学号:");scanf("%d",&a);printf("请输入你的姓名:");scanf("%s",s);k1course();}void main()//主函数{int i;while (1){zhucaidan();scanf("%d",&i);if (i<0||i>4)printf("警示:请输入正确的菜单选项\n");switch (i){case(1):zcourse();break;case(2):zstudent();break;case(3):zchoose();break;case(4):{printf("\n\t\t\t谢谢使用本选课系统\n");printf("\n\t\t\t\t\t制作人:熊林杨云龙程星吴傲寒\n");exit(1);}}}}。
c语言源代码C语言是一种高级编程语言,常用于编写系统软件、应用程序和嵌入式系统等。
下面是一段C语言源代码示例,用于实现计算机科学中的经典排序算法-插入排序。
```c#include <stdio.h>void insertion_sort(int arr[], int n) {int i, j, key;for (i = 1; i < n; i++) {key = arr[i];j = i - 1;while (j >= 0 && arr[j] > key) {arr[j + 1] = arr[j];j = j - 1;}arr[j + 1] = key;}}int main() {int arr[] = { 12, 11, 13, 5, 6 };int n = sizeof(arr) / sizeof(arr[0]);insertion_sort(arr, n);printf("排序后的数组:\n");for (int i = 0; i < n; i++) {printf("%d ", arr[i]);}return 0;}```该源代码主要实现了插入排序算法,用于对一个整型数组进行排序。
插入排序的思想是将一个元素插入到已排好序的有序序列中,从而使序列仍然有序。
该算法通过一个双重循环来实现排序,具体过程如下:1. 从索引1开始遍历数组arr,将第i个元素保存到变量key中。
2. 将变量j初始化为i-1,向前遍历已排好序的子数组,如果当前元素逆序比key大,则将当前元素向右移动一位。
3. 插入key到正确的位置上,即在当前位置j+1处。
该算法的时间复杂度为O(n^2),因此对于大规模数据集的排序,效率并不高。
但对于小规模数据相对简单的排序任务,插入排序仍是一种非常优秀的选择。
该源代码中还包括一个main函数,用于测试插入排序的正确性。
西安郵電大學C语言课程设计报告题目: 职工工资管理系统院系名称: 计算机学院专业名称: 软件工程班级:学生姓名:学号(8位):指导教师:设计起止时间: 2013年06月03日~2013年06月12日一.设计目的1.通过本课程设计, 强化上机动手能力, 使学生在理论和实践的基础上进一步巩固《c语言程序设计》课程学习的内容, 掌握工程软件设计的基本方法.2.学会将知识应用于实际的方法, 提高分析和解决问题的能力, 增加综合能力.3.为后续各门计算机课程的学习打下坚实基础; 为毕业设计和以后工作打下必要基础。
二.设计内容本设计主要包括了用户登录和主菜单,其中用户登录包括了一下几个功能1.新用户的注.2.用户登.3。
用户密码的修改。
而主菜单包括: 1.职工信息的录.2.职工信息的修.3.选择性排.4.统计人数和工.5. 输出现有的信.6.自定义查询信息。
三. 概要设计1. 功能模块图;1.2. 各个模块详细的功能描述。
2.修改密码的时候, 需要输入原密码, 并且输入两次新的密码必须相同才能完成密码的修改。
3.用户登录: 需要输入用户名和密码, 如果用户名不存在或密码错误会给出相应的提醒, 当输入正确的时候会进入主菜单。
4.新用户注册:需要输入注册的用户和密码, 如果用户明已被注册过会给出相应的提醒。
5.职工信息的输入:是从无开始输入职工的信息, 同样也会给出输入内容的提醒, 当输入最后一次职工的信息为零时结束输入, 同是会将输入的信息写入到文件里。
6.修改职工信息其中包括a.添加职工信息和输入职工信息相同在添加完会提醒是否继续添加。
b.修改员工信息: 此时会出现选择性修改职工的哪项信息,先进行选择再进行修改。
C.删除员工信息: 需要输入所要删除员工的姓名或id进行删除!如果删除不成功或者删除者不存在会给出相应的提醒。
7.统计信息: 会自动的统计现有员工的总人数和现有员工的总工资。
8.输出现有职工的信息: 会显示现在记录的职工的各项信息。
c语言程序设计网上作业源代码参考25、个人所得税(实验题)假设工资税金按以下方法计算: x≤1000元,不收取税金;1000< x≤2000,收取5%的税金: 2000< x ≤ 3000,收取10%的税金;3000< x ≤ 4000,收取15%的税金;4000< x≤5000,收取20%的税金;x>5000,收取25%的税金。
编写一个程序,输入工资金额,输出应收取税金额度,要求分别用if语句或switch语句来实现。
输入:有多组输入,每组输入为一个double类型的工资,当其为0时,程序结束运行,输出:每行输入应一行输出,输出应缴税金, double型。
代码:#includeint main(void){double salary,tax1,tax2;int a;while(scanf("%lf",&salary)&&salary!=0){a=(int)salary/1000;if(a==0) tax1=0;else if(a==1) tax1=(salary-1000)*0.05;else if(a==2) tax1=(salary-2000)*0.10+50;else if(a==3) tax1=(salary-3000)*0.15+150;else if(a==4) tax1=(salary-4000)*0.20+300;else tax1=(salary-5000)*0.25+500;switch(a){case 0:tax2=0;break;case 1:tax2=(salary-1000)*0.05;break;case 2:tax2=(salary-2000)*0.10+50;break;case 3:tax2=(salary-3000)*0.15+150;break;case 4:tax2=(salary-4000)*0.20+300;break;default:tax2=(salary-5000)*0.25+500;}printf("%.6lf\n",tax1);}return 0;}26、正整数逆转(实验题)编写一个程序,将用户输入的任意正整数逆转。
《C语言程序设计教程》例题源码练习一【例1.1】打印“常熟理工学院”的汉语拼音。
程序源码如下:void main(){printf(“chang shu li gong xue yuan!”);}【例1.2】求任意两个整数的积。
程序源码如下:#include<stdio.h>int mul(int a,int b);void main(){int x,y,z;printf("input two numbers:\n");scanf("%d%d",&x,&y);z=mul(x,y);printf("mul=%d",z);}int mul(int a,int b){int c;c=a*b;return c;}【例1.3】求整数a、b的和。
程序源码如下:void main(){int a,b;int sum;scanf(“%d,%d”,&a,&b);sum=a+b;printf(“%d”,sum);}练习二【例2.1】转义字符的使用。
程序源码如下:void main(){printf("\x4f\x4b\x21\n");printf("\112\112\132\104\n");}【例2.2】符号常量的使用。
程序源码如下:#define PI 3.14159265void main(){float r,m,s;r=1.2;m=2*PI*r;s=PI*r*r;printf("%f,%f",m,s);}【例2.3】整型变量的定义与使用。
程序源码如下:void main(){int x,y,m;unsigned u,n;x=30;y=18;u=32800;m=x+y;n=y+u;printf("x+y=%d,y+u=%d\n",m,n);}【例2.4】整型变量的定义与使用。
25、个人所得税(实验题)假设工资税金按以下方法计算: x≤1000元,不收取税金;1000< x≤2000,收取5%的税金: 2000< x ≤ 3000,收取10%的税金;3000< x ≤ 4000,收取15%的税金;4000< x≤5000,收取20%的税金;x>5000,收取25%的税金。
编写一个程序,输入工资金额,输出应收取税金额度,要求分别用if语句或switch语句来实现。
输入:有多组输入,每组输入为一个double类型的工资,当其为0时,程序结束运行,输出:每行输入应一行输出,输出应缴税金, double型。
代码:#include <stdio.h>int main(void){double salary,tax1,tax2;int a;while(scanf("%lf",&salary)&&salary!=0){a=(int)salary/1000;if(a==0) tax1=0;else if(a==1) tax1=(salary-1000)*0.05;else if(a==2) tax1=(salary-2000)*0.10+50;else if(a==3) tax1=(salary-3000)*0.15+150;else if(a==4) tax1=(salary-4000)*0.20+300;else tax1=(salary-5000)*0.25+500;switch(a){case 0:tax2=0;break;case 1:tax2=(salary-1000)*0.05;break;case 2:tax2=(salary-2000)*0.10+50;break;case 3:tax2=(salary-3000)*0.15+150;break;case 4:tax2=(salary-4000)*0.20+300;break;default:tax2=(salary-5000)*0.25+500;}printf("%.6lf\n",tax1);}return 0;}26、正整数逆转(实验题)编写一个程序,将用户输入的任意正整数逆转。
输入:有多组输入,每组包含一个正整数m,当其为0时程序结束运行。
输出:每行输入对应一行输出。
代码:#include<stdio.h>void main(){int n, a[10], i, j;while(scanf("%d", &n)&&n!=0)//scanf()成功读取并且n不为0{j=0;//注意把0赋值给j要在循环内while(n>0){a[j++] = n%10;n /= 10;}for(i=0; i<j; i++)printf("%d", a[i]);printf("\n");}}27、杨辉三角(实验题)打印杨辉三角输入:有多组输入,每组对应于一行,每行输入一个正整数n,当n为0时程序结束运行输出:对于每一个正整数n(1<=n<=12),输出其相应的杨辉三角,两个杨辉三角用空行隔开代码:#include <stdio.h>int C(int i,int j);//组合数函数int main(void){int i,j,n,space;while(scanf("%d",&n)&&n!=0){for(i=0;i<=n-1;i++){for(space=1;space<=2*n-2-2*i;space++)//打印空格,找到空格和n,i的关系putchar(' ');for(j=0;j<=i;j++){if(j==0)//每行第一个数字没有宽度printf("%d",C(i,j));elseprintf("%4d",C(i,j));//从第二个开始宽度为4}printf("\n");}printf("\n");}return 0;}int C(int i,int j){int s;if(j==0) s=1;else s=C(i,j-1)*(i-j+1)/j;return s;}28、求方程近似根(实验题,选做题)题目:(实验2.3,选做题) ,输入:无输出:方程的根, double类型代码:#include <stdio.h>double f1(double x);//f1(x)=f(x)double f2(double x);//f2(x)=f'(x)int main(void){double a=0,b,e=1e-6;do{b=a-f1(a)/f2(a);b=b-a;a=a+b;b=a-b;//交换a与b的值}while((a-b)>0?(a-b):(b-a)/*|a-b|*/>e);printf("%lf\n",a);return 0;}double f1(double x){return 3*x*x*x-4*x*x-5*x+13;}double f2(double x){return 9*x*x-8*x-5;}29、歌德巴赫猜想(实验题)歌德巴赫猜想:任一个大于等于6的偶数都可以表示为两个素数之和。
编写程序,证明对于在正整数begin和end之间的偶数这一猜想成立。
输入:每行为一组输入,每行有两个100以内的正整数,分别为begin和end(begin>6, end ≥begin),当begin为0时程序结束运行。
输出:每组输入对应一组输出,每组输出格式参考样例输出,对于每个偶数,只需输出其第一个成立的式子(即被加数最小的情况);每两组输出用空行隔开,代码:#include<stdio.h>int isPrime(int n);//素数判断函数原型声明int main(void){int a,b,i;while(scanf("%d%d",&a,&b)&&a>=6&&a<=b&&a!=0){for(a=!(a%2)?a:a+1;a<=b;a+=2)//a不是偶数a初始值+1{for(i=2;i<=a/2;i++){if(isPrime(i)&&isPrime(a-i)==1)//两个数都为素数{printf("%d=%d+%d\n",a,i,a-i);break;//证毕直接跳出循环}}}printf("\n");}return 0;}int isPrime(int n){int flag,i;flag=1;for(i=2;i*i<=n;i++){if(n%i==0){flag=0;break;}}return flag;}30、最大公约数(实验题)利用递归函数计算两个正整数的最大公约数,输入:有多组输入,每组对应一行,每行包含两个正整数,当第一个数为0时程序结東运行。
输出,每行输入对应一行输出代码:#include<stdio.h>int gcd(int a,int b);//求最大公约数函数int main(void){int a,b;while(scanf("%d%d",&a,&b)&&a!=0)printf("%d\n",gcd(a,b));return 0;}int gcd(int a,int b)//一直调用函数直到a与b相等{if(a==b) return a;if(a>b){a=a-b;gcd(b,a);}else{b=b-a;gcd(b,a);}}11、取整数局部(实验题)编写一个程序,输入无符号短整数x, m, n(0≤m≤15,1≤n≤16-m),取出x从第m位开始向左的n位(m从右至左编号为0~15) ,并使其向左端(第15位)靠齐,输出。
输入:第一行是正整数N,表示数据组数,接下来的N行是输入数据,每行是无符号短整数x m n输出:每行输入对应一行输出代码:#include <stdio.h>int main(void){unsigned short int x,m,n;int N,i;scanf("%d",&N);for(i=1;i<=N;i++){scanf("%hu%hu%hu",&x,&m,&n);if(m>=0&&m<=15&&n>=1&&n<=16-m){x=x>>m<<(15-n+1);printf("%hu\n",x);}else break;}return 0;}12、IP地址转换IP地址通常是4个用句点分隔的小整数(即点分十进制) ,如32.55.1.102。
这些地址在机器中用无符号长整型表示。
编写一个程序,以机器存储的形式读入一个互联网IP地址,对其进行译码,然后用常见的句点分隔的4部分的形式输出。
例如:整形676879571二进制表示就是: 00101000 01011000 01011100 11010011, 按照8位一组可表示为: 40 88 9 211,由于CPU处理数据的差异, 它的顺序是颠倒的, 所有最终格式为211.92.88.40。
代码:#include <stdio.h>int main(void){unsigned long int x,mask=0xff;int a,b,c,d,n,i;scanf("%d",&n);for(i=1;i<=n;i++){scanf("%lu",&x);a=(mask<<24&x)>>24;b=(mask<<16&x)>>16;c=(mask<<8&x)>>8;d=mask&x;printf("%d.%d.%d.%d\n",d,c,b,a);}return 0;}以上为C作业代码参考,部分疏漏还请多多包涵。