123.cpp
#include<iostream>
using namespace std;
int main()
{
int n=6378;
while(n)
{
printf("%d\n",n%10);
n/=10;
}
system("pause");
}
N升序排序.cpp
#include<iostream>
using namespace std;
void main()
{
int n,a[100],i,j,t;
printf("输入N个战士的身高:\n");
scanf("%d",&n);
printf("请输入战士的身高:\n");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
printf("排序以后的数组:\n");
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;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++)
printf("%d ",a[i]);
printf("\n");
system("pause");
}
九九乘法表.cpp
#include <iostream>
using namespace std;
/*int main()
{
int i,j;
for(i=1;i<=9;i++)
{
for(j=1;j<=9;j++)
printf("%d*%d=%2d\t",i,j,i*j);
printf("\n");
}
system("pause");
}
int main()
{
int i,j;
for(i=1;i<=9;i++)
{
for(j=1;j<=9;j++)
{
if(j<i)
printf(" ");
//printf("");
else
printf("%d*%d=%2d ",i,j,i*j);
}
printf("\n");
}
system("pause");
}*/
int main()
{
int i,j,n;
for(i=1;i<=9;i++)
{
//for(n=1;n<=9-i;n++)
//printf(" ");
for(j=1;j<=i;j++)
printf("%d*%d=%2d ",i,j,i*j);
printf("\n");
}
system("pause");
}
二维数组按行分别排列.cpp
#include <iostream>
using namespace std;
//排序函数,分别对每一行的元素进行排序
void sort(int *a[],int row,int col)
{
int i,j,k,temp;
for(i=0; i<row; i++)
{
for(k=0;k<col; k++)
{
for(j=0; j<col-k-1; j++)
{
if(a[i][j] > a[i][j+1])
{
temp = a[i][j];
a[i][j] = a[i][j+1];
a[i][j+1] = temp;
}
}
}
}
}
void main()
{
int a[3][4] = {1,12,2,11,3,10,4,9,5,8,6,7};
int i,j;
int *pa[3];
for(i=0; i<3; i++)
{
pa[i] = a[i];
}
sort(pa,3,4);
//打印输出
for(i=0; i<3; i++)
{
for(j=0; j<4; j++)
{
printf("%d ",a[i][j]);
}
printf("\n"); system("pause");
}
}
倒序输出.cpp
//#include <stdio.h>
#include <iostream>
using namespace std;
void strRev(char *str,int len)
{
// assert(str);
if(*str == '\0')
return;
else
strRev(str+1,len-1);
printf("%c",*str);
}
int main(){
char *str = "abcefg";
strRev(str,6);
system("pause");
}
冒泡排序算法.cpp
for(i=1;i<11;i++)
scanf("%d",&a[i]);
for(i=1;i<10;i++)
{
endsort=0;
for(j=1;j<10;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
endsort=1;
}
}
if(endsort=0) break;
}
printf("排序后的顺序是:\n");
for(i=1;i<=10;i++)
printf("%5d",a[i]);
printf("\n");
system("pause");
}
对角线元素之和 周边元素之和.cpp
#include <iostream>
#define N 3
using namespace std;
int transp(int a[N][N])
{
int i,j,b[N][N];
for(i = 0; i < N; i++)
{
for(j = 0; j < N; j++)
{
b[j][i]=a[i][j];
}
}
for(i = 0; i < N; i++)
{
for(j = 0; j < N; j++){
printf("%3d ",b[i][j]);
}
printf("\n");
}
return 0;
}
double average(int a[N][N])
{
int i,j;
double avg,sum=0,count=0;
for(i = 0; i < N; i++)
{
for(j = 0; j < N; j++)
{
sum += a[i][j];
count++;
}
}
avg = sum / count;
return avg;
}
int diagonal_sum(int a[N][N])
{
int i,j, s = 0;
for(i = 0; i < N; i++)
{
for(j = 0; j < N; j++)
{
if(i == j)
{
s += a[i][j];
}
}
s += a[i][N-i-1];
}
if(N % 2 == 1)
{
s -= a[N/2][N/2];
}
return s;
}
int round_sum(int a[N][N])
{
int i, s = 0;
for (i = 0;i < N;i++)
s += a[0][i] + a[N - 1][i]; //第一行和最后一行的数据
for (i = 1;i < N - 1;i++)
s += a[i][0] + a[i][N - 1]; //第一列的第二个数开始和最后一列的第二个数开始
return s;
}
void main()
{
int a[N][N];
int i,j;
int sum1,sum2;
double avg1;
for(i = 0; i < N; i++)
{
for(j = 0; j < N; j++){
scanf("%d",&a[i][j]);
}
}
sum1 = round_sum(a);
printf("周边元素之和: %d\n",sum1);
sum2 = diagonal_sum(a);
printf("对角线元素之和: %d\n",sum2);
avg1 = average(a);
printf("平均数: %lf\n",avg1);
printf("转置矩阵: \n");
transp(a);
system("pause");
}
平均分.cpp
#include <iostream>
using namespace std;
struct student
{
char *name;
float score1;
float score2;
float score3;
float score4;
float score5;
};
int main()
{
struct student stus[4] = {
{"赵琳", 80,82,91,68,77},
{"张强", 78,83,82,72,80},
{"张帅", 73,58,62,60,75},
{"李莉", 83,87,89,79,81}
};
for(int i=0; i<4; i++){
struct student stu = stus[i];
float avg = (stu.score1 + stu.score2 + stu.score3
+ stu.score4 + stu.score5) / 5;
printf("第%d个学生,姓名=%s,平均分=%f\n",i, stu.name,avg);
}
system("pause");
}
归并排序算法.cpp
#include <iostream>
using namespace std;
int merge(int r[],int s[],int x1,int x2,int x3) //自定义实现一次归并样序的函数
{
int i,j,k;
i=x1; //第一部分的开始位置
j=x2+1; //第二部分的开始位置
k=x1;
while((i<=x2)&&(j<=x3)) //当i和j都在两个要合并的部分中时
if(r[i]<=r[j]) //筛选两部分中较小的元素放到数组s中
{
s[k] = r[i];
i++;
k++;
}
else
{
s[k]=r[j];
j++;
k++;
}
while(i<=x2) //将x1〜x2范围内未比较的数顺次加到数组r中
s[k++]=r[i++];
while(j<=x3) //将x2+l〜x3范围内未比较的数顺次加到数组r中
s[k++]=r[j++];
return 0;
}
int merge_sort(int r[],int s[],int m,int n)
{
int p;
int t[20];
if(m==n)
s[m]=r[m];
else
{
p=(m+n)/2;
merge_sort(r,t,m,p); //递归调用merge_soit()函数将r[m]〜r[p]归并成有序的t[m]〜t[p]
merge_sort(r,t,p+1,n); //递归一调用merge_sort()函数将r[p+l]〜r[n]归并成有序的t[p+l]〜t[n]
merge(t,s,m,p,n); //调用函数将前两部分归并到s[m]〜s[n】*/
}
return 0;
}
int main()
{
int a[11];
int i;
printf("请输入10个数:\n");
for(i=1;i<=10;i++)
scanf("%d",&a[i]); //从键盘中输入10个数
merge_sort(a,a,1,10); //调用merge_sort()函数进行归并排序
printf("排序后的顺序是:\n");
for(i=1;i<=10;i++)
printf("%5d",a[i]); //输出排序后的数据
printf("\n");
system("pause");
}
特殊的完全平方数.cpp
#include<iostream>
using namespace std;
#include<math.h>
void main()
{
int i,a,b,c;
for(i=100.0;i<1000;i++)
{
if(i==((int)sqrt(i))*((int)sqrt(i)))
{
a=i/100;
b=i%10;
c=i/10%10;
if(a==b||a==c||b==c)
{
printf("%4d...",i);
}
}
}
system("pause");
}
直接插入算法.cpp
#include <iostream>
using namespace std;
int StraightInsertSort(int R[],int n)
{
int i,j;
for(i=2;i<=n;i++)
{
R[0]=R[i];
j=i-1;
while(R[0]<R[j])
{
R[j+1]=R[j];
j--;
}
R[j+1]=R[0];
}
return 0;
}
int main()
{
int a[9],i;
printf("请输入8个数据:\n");
for(i=1;i<=8;i++)
scanf("%d",&a[i]);
printf("原始顺序:\n");
for(i=1;i<9;i++)
printf("%5d",a[i]);
StraightInsertSort(a,8);
printf("\n插入数据排序后顺序:\n");
for(i=1;i<9;i++)
printf("%5d",a[i]);
printf("\n");
system("pause");
}
直接选择排序.cpp
#include <iostream>
using namespace std;
int main()
{
int min,i,j,R[11];
printf("请输入10个数:\n");
for(i=1;i<11;i++)
scanf("%d",&R[i]);
for(i=1;i<=9;i++)
{
min=i;
for(j=i+1;j<=10;j++)
if(R[j]<R[min])
min=j;
if(min!=i)
swap(R[min],R[i]);
}
printf("排序后的顺序是:\n");
for(i=1;i<=10;i++)
printf("%5d",R[i]);
printf("\n");
system("pause");
}
大小写转换.cpp
#include<iostream>
#include<string>
using namespace std;
int main(){
int i;
char s[100];
gets(s);
for(i=0;s[i]!='\0';i++)
{
if((s[i]>='A'&&s[i]<='Z')||(s[i]>='a'&&s[i]<='z'))
{
s[i]^=32;//核心语句,实现字符串中字母的大小写互换
printf("%s",s);
}
else
printf("%s",s);
}
system("pause");
}
素数.cpp
#include <iostream>
using namespace std;
int main()
{
int i, k, n = 0, isprime;
for (i = 2; i <= 100; i++)
{
isprime = 1;
for (k = 2; k < i; k++)
if (i % k == 0)
{
isprime = 0; break;
}
if (isprime)
printf("%d%c", i, ++n % 5 ? ' ' : '\n');
}
system("pause");
}
长方体.cpp
#include <iostream>
using namespace std;
float getRectvolume(float l,float w,float h)
{
return l*w*h;
}
float getRectArea(float l,float w,float h)
{
return 2*(l*w+l*h+w*h);
}
int main()
{
float length=0,width=0,height=0,area=0,volume=0;
printf("请分别输入长度、宽度和高度:\n");
scanf("%f %f %f",&length,&width,&height);
volume=getRectvolume(length,width,height);
area=getRectArea(length,width,height);
printf("长度=%.2f\n宽度=%.2f\n高度=%.2f\n面积=%.2f\n体积=%.2f\n",length,width,height,area,volume);
system("pause");
}