编程c语言代码大全(编程c语言代码大全下载)
c语言必背代码有哪些?
1、/*输出9*9口诀。共9行9列,i控制行,j控制列。*/
#include "stdio.h"
main()
{int i,j,result;
for (i=1;i10;i++)
{ for(j=1;j10;j++)
{
result=i*j;
printf("%d*%d=%-3d",i,j,result);/*-3d表示左对齐,占3位*/
}
printf("\n");/*每一行后换行*/
}
}
2、/*古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
兔子的规律为数列1,1,2,3,5,8,13,21....*/
main()
{
long f1,f2;
int i;
f1=f2=1;
for(i=1;i=20;i++)
{ printf("%12ld %12ld",f1,f2);
if(i%2==0) printf("\n");/*控制输出,每行四个*/
f1=f1+f2; /*前两个月加起来赋值给第三个月*/
f2=f1+f2; /*前两个月加起来赋值给第三个月*/
}
}
3、/*判断101-200之间有多少个素数,并输出所有素数及素数的个数。
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,
则表明此数不是素数,反之是素数。*/
#include "math.h"
main()
{
int m,i,k,h=0,leap=1;
printf("\n");
for(m=101;m=200;m++)
{ k=sqrt(m+1);
for(i=2;i=k;i++)
if(m%i==0)
{leap=0;break;}
if(leap) ? ?/*内循环结束后,leap依然为1,则m是素数*/
{printf("%-4d",m);h++;
if(h%10==0)
printf("\n");
}
leap=1;
}
printf("\nThe total is %d",h);
}
4、/*一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程
找出1000以内的所有完数。*/
main()
{
static int k[10];
int i,j,n,s;
for(j=2;j1000;j++)
{
n=-1;
s=j;
for(i=1;ij;i++)
{if((j%i)==0)
{ ?n++;
s=s-i;
k[n]=i;
}
}
if(s==0)
{printf("%d is a wanshu: ?",j);
for(i=0;in;i++)
printf("%d,",k[i]);
printf("%d\n",k[n]);
}
}
}
5、/*下面程序的功能是将一个4×4的数组进行逆时针旋转90度后输出,要求原始数组的数据随机输入,新数组以4行4列的方式输出,
请在空白处完善程序。*/
main()
{ ?int ?a[4][4],b[4][4],i,j; ? ? ? /*a存放原始数组数据,b存放旋转后数组数据*/
printf("input 16 numbers: ");
/*输入一组数据存放到数组a中,然后旋转存放到b数组中*/
for(i=0;i4;i++)
for(j=0;j4;j++)
{ ?scanf("%d",a[i][j]);
b[3-j][i]=a[i][j];
}
printf("array b:\n");
for(i=0;i4;i++)
{ ?for(j=0;j4;j++)
printf("%6d",b[i][j]);
printf("\n");
}
}
6、/*编程打印直角杨辉三角形*/
main()
{int i,j,a[6][6];
for(i=0;i=5;i++)
{a[i][i]=1;a[i][0]=1;}
for(i=2;i=5;i++)
for(j=1;j=i-1;j++)
a[i][j]=a[i-1][j]+a[i-1][j-1];
for(i=0;i=5;i++)
{for(j=0;j=i;j++)
printf("%4d",a[i][j]);
printf("\n");}
}
7、/*通过键盘输入3名学生4门课程的成绩,
分别求每个学生的平均成绩和每门课程的平均成绩。
要求所有成绩均放入一个4行5列的数组中,输入时同一人数据间用空格,不同人用回车
其中最后一列和最后一行分别放每个学生的平均成绩、每门课程的平均成绩及班级总平均分。*/
#include stdio.h
#include stdlib.h
main()
{ float a[4][5],sum1,sum2;
int i,j;
for(i=0;i3;i++)
for(j=0;j4;j++)
scanf("%f",a[i][j]);
for(i=0;i3;i++)
{ sum1=0;
for(j=0;j4;j++)
sum1+=a[i][j];
a[i][4]=sum1/4;
}
求50行简单C语言程序代码,基础的就好
#include stdio.h
#include stdlib.h
#define NUM 10
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
//冒泡排序算法
//基本思想:比较相邻的两个数,如果前者比后者大,则进行交换。每一轮排序结束,选出一个未排序中最大的数放到数组后面。
void bubbleSort(int *arr, int n) {
int i,j;
for (i = 0; in - 1; i++)
for (j = 0; j n - i - 1; j++) {
//如果前面的数比后面大,进行交换
if (arr[j] arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
//最差时间复杂度为O(n^2),平均时间复杂度为O(n^2)。稳定性:稳定。辅助空间O(1)。
//升级版冒泡排序法:通过从低到高选出最大的数放到后面,再从高到低选出最小的数放到前面,
//如此反复,直到左边界和右边界重合。当数组中有已排序好的数时,这种排序比传统冒泡排序性能稍好。
//升级版冒泡排序算法
void bubbleSort_1(int *arr, int n) {
//设置数组左右边界
int left = 0, right = n - 1;
//当左右边界未重合时,进行排序
while (left=right) {
int i,j;
//从左到右遍历选出最大的数放到数组右边
for (i =left; i right; i++) {
if (arr[i] arr[i + 1]) {
int temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
}
}
right--;
//从右到左遍历选出最小的数放到数组左边
for (j = right; j left; j--) {
if (arr[j + 1] arr[j]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
left++;
}
}
int main(int argc, char *argv[]) {
int arr[NUM],i,j,temp;
printf("请输入10个数:\n");
for(i=0; iNUM; i++) {
printf("请输入第(%d)个数:",i+1);
scanf("%d",arr[i]);
}
printf("\n输入如下排列:\n");
for(i=0; iNUM; i++) {
printf("%4d",arr[i]);
}/*
for(i=0; iNUM; i++) {
for(j=i+1; jNUM; j++) {
if(arr[i]arr[j]) {
temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}*/
bubbleSort_1(arr,NUM);
/*printf("\n从小到大如下排列:\n");
for(i=0; iNUM; i++) {
printf("%4d",arr[i]);
}*/
printf("\n从大到小如下排列:\n");
for(i=NUM-1; i=0; i--) {
printf("%4d",arr[i]);
}
return 0;
}
c语言编程代码
两种方法我写在一起,可以独立拆开。
#include stdio.h
void finda1(char a[3][10]);
void finda2(char a[3][10]);
void show(char (*p)[10]);
int main()
{
? char a[3][10]={{"gehajl"},{"788a987a7"},{"ccabbbabbb"}};
? printf("原数组内容:\n");
? show(a);
? printf("\n1、用数组指针的方法(函数finda1):\n");
? finda1(a);
? printf("执行后:\n");
? show(a);
? printf("\n---------------------\n");
? char b[3][10]={{"gehajl"},{"788a987a7"},{"ccabbbabbb"}};
? printf("原数组内容:\n");
? show(a);
? printf("\n2、用指针数组的方法(函数finda2):\n");
? finda2(b);
? printf("执行后:\n");
? show(b);
? return 0;
}
void finda1(char a[3][10])
{
? int i,j;
? char (*p)[10]=a;
? for(i=0;i3;i++)
? ? ? for(j=0;j10;j++)
? ? ? ? ? if(p[i][j]=='a')
? ? ? ? ? ? ? printf("发现:第%d行第%d个元素是‘a’,已替换\n",i+1,j+1),p[i][j]='1';
}
void finda2(char a[3][10])
{
? int i,j;
? char *p[3]={a[0][0],a[1][0],a[2][0]};
? for(i=0;i3;i++)
? ? ? for(j=0;j10;j++)
? ? ? ? ? if(p[i][j]=='a')
? ? ? ? ? ? ? printf("发现:第%d行第%d个元素是‘a’,已替换\n",i+1,j+1),p[i][j]='1';
}
void show(char (*p)[10])
{
? int i,j;
? for(i=0;i3;i++,printf("\n"))
? ? ? for(j=0;j10;j++)
? ? ? ? ? printf("%c ",p[i][j]);
}