来源:菜鸟教程C 语言实例
使用软件:microsoft visual studio
输入语句用scanf_s
使用 sizeof 操作符计算int, float, double 和 char四种变量字节大小。sizeof 是 C 语言的一种单目操作符,如C语言的其他操作符++、–等,它并不是函数。sizeof 操作符以字节形式给出了其操作数的存储大小。
#include
void main()
{
int integerType;
float floatType;
double doubleType;
char charType;
//sizeof操作符用于计算变量的字节大小
printf("Size of int:%ld bytes\n", sizeof(integerType));
printf("Size of float:%ld bytes\n", sizeof(floatType));
printf("Size of double:%ld bytes\n", sizeof(doubleType));
printf("Size of char:%ld bytes\n", sizeof(charType));
return 0;
}
#include
void main()
{
double a, b, c;
printf("输入第一个数字:");
scanf_s("%lf", &a);
printf("输入第二个数字:");
scanf_s("%lf", &b);
c = a;
a = b;
b = c;
printf("\n交换后,a=%.2lf\n", a);
printf("交换后,b=%.2lf\n", b);
return 0;
}
#include
void main()
{
int number;
printf("请输入一个整数:");
scanf_s("%d", &number);
if (number % 2 == 0)或者 if(number&1)
printf("%d是偶数", number);
else
printf("%d 是奇数", number);
return 0;
}
#include
循环区间范围内的奇数/偶数
void main()
{
int i,total = 0;
for (i = 1; i <= 10; i++)
{
f (i % 2 == 0)
{
printf("%2d ", i);
total++;
}
}
printf("total=%d",total);
return 0;
}
#include
void main()
{
double n1, n2, n3;
printf("请输入三个数。以空格分隔:");
scanf_s("%lf %lf %lf", &n1, &n2, &n3);
if (n1 > n2 && n1 >= n3)
printf("%.2f 是最大数", n1);
if (n2 >= n1 && n2 >= n3)
printf("%.2f 是最大数", n2);
if (n3 >= n1 && n3 >= n2)
printf("%.2f 是最大数", n3);
return 0;
}
#include
#include
int main()
{
float a,b,c,x1,x2,d;
printf("输入方程的三个系数:");
scanf_s("%f %f %f",&a,&b,&c);
if(a!=0)
{
d=sqrt(b*b-4*a*c);
x1=(-b+d)/(2*a);
x2=(-b-d)/(2*a);
if(x1<x2)
printf("%0.2f %0.2f\n",x2,x1);
else
printf("%0.2f %0.2f\n",x1,x2);
}
return 0;
}
#include
void main()
{
int year;
printf("输入年份:");
scanf_s("%d", &year);
if (year % 4 == 0)
{
if (year % 100 == 0)
{
if (year % 400 == 0)
printf("%d 是闰年", year);
else
printf("%d 不是闰年”,year);
}
else
printf("%d 是闰年",year);
}
else
printf("%d 不是闰年", year);
return 0;
}
#include
void main()
{
int n, i, sum = 0;
printf("输入一个正整数:");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
sum += i;
}
printf("sum=%d", sum);
return 0;
}
#include
//while计算自然数的和
void main()
{
int n, i, sum = 0;
printf("输入一个正整数:");
scanf_s("%d", &n);
i = 1;
while (i<=n) {
sum += i;
i++;
}
printf("sum=%d", sum);
return 0;
}
#include
void main()
{
//外循环变量控制行
int i = 0;
//内循环变量控制列
int j = 0;
for (i = 1; i <= 9; i++) {
for (j = 1; j <= i; j++) {
printf("%dx%d= %d\t", j, i, i*j);
}
//每行输出后换行
printf("\n");
}
return 0;
}
#include
void main()
{
int i, n, t1 = 0, t2 = 1, nextTerm;
printf("输出几项:");
scanf_s("%d", &n);
printf("斐波那契额数列:");
for (i = 1; i <= n; ++i)
{
printf("%d,", t1);
nextTerm = t1 + t2;
t1 = t2;
t2 = nextTerm;
}
return 0;
}
#include
void main()
{
int n1, n2, i, gcd;
printf("输入两个正整数,以空格分隔:");
scanf_s("%d %d", &n1, &n2);
for (i = 1; i <= n1 && i <= n2; ++i)
{ //判断i是否为最大公约数
if (n1%i == 0 && n2%i == 0)
gcd = i;
}
printf("%d 和 %d 的最大公约数是:%d", n1, n2, gcd);
return 0;
}
#include
void main()
{
int n1, n2;
printf("输入两个正整数,以空格分隔:");
scanf_s("%d %d", &n1, &n2);
while (n1 != n2)
{
if (n1 > n2)
n1 -= n2;
else
n2 -= n1;
}
printf("最大公约数是:%d", n1,);
return 0;
}
#include
void main()
{
int n1, n2;
printf("输入两个正整数,以空格分隔:");
scanf_s("%d %d", &n1, &n2);
printf("%d和%d最大公约数是:%d", n1,n2,hcf(n1,n2));
return 0;
}
int hcf(int n1, int n2)
{
if (n2 != 0)
return hcf(n2, n1%n2);
else
return n1;
}
#include
void main()
{
int n1, n2, minMultiple;
printf("输入两个正整数:");
scanf_s("%d %d", &n1, &n2);
minMultiple = (n1 > n2) ? n1 : n2;
while (1)
{
if (minMultiple%n1 == 0 && minMultiple%n2 == 0)
{
printf("%d和%d的最小公倍数为:%d", n1, n2, minMultiple);
break;
}
++minMultiple;
}
return 0;
}
#include
void main()
{
int n1, n2,i,gcd,lcm;
printf("输入两个正整数:");
scanf_s("%d %d", &n1, &n2);
for (i = 1; i <= n1 && i <= n2; i++)
{
//判断最大公约数
if (n1%i == 0&&n2%i == 0)
gcd = i;
}
lcm = (n1*n2) / gcd;
printf("%d和%d的最小公倍数为:%d", n1, n2, lcm);
return 0;
}
#include
void main()
{
int n,i;
unsigned long long factorial = 1;
printf("输入一个整数:");
scanf_s("%d", &n);
if (n < 0)
//如果是负数,显示错误!
printf("Error!负数没有阶乘");
else
{
for (i = 1; i <= n; i++)
{
factorial *= i;
}
printf("%d = %llu", n, factorial);
}
return 0;
}
#include
void main()
{
int n;
printf("输入一个整数:");
scanf_s("%d", &n);
printf("%d! =%d", n, multiplyNumbers(n));
return 0;
}
long int multiplyNumbers(int n)
{
if (n >= 1)
return n * multiplyNumbers(n - 1);
else
return 1;
}
#include
void main()
{
char c;
printf("输入u显示大写字母,输入l显示小写字母:");
scanf_s("%c", &c);
if (c == 'U' || c == 'u')
{
for (c = 'A'; c <= 'Z'; ++c)
printf("%c ", c);
}
if (c == 'L' || c == 'l')
{
for (c = 'a'; c <= 'z'; ++c)
printf("%c ", c);
}
else
printf("Error!输入非法字母");
return 0;
}
#include
void main()
{
long long n;
int count = 0;
printf("输入一个整数:");
scanf_s("%lld", &n);
while (n != 0)
{
n /= 10;
++count;
}
printf("数学是%d位数。", count);
return 0;
}
#include
int power(int n1, int n2);
int main()
{
int base, powerRaised, result;
printf("基数:");
scanf_s("%d", &base);
printf("指数:");
scanf_s("%d", &powerRaised);
result = power(base, powerRaised);
printf("%d^%d= %d", base, powerRaised,result);
return 0;
}
int power(int base, int powerRaised)
{
if (powerRaised != 0)
return (base*power(base, powerRaised - 1));
else
return 1;
}
#include
int main()
{
int n, a = 0,b, c;
printf("输入一个整数:");
scanf_s("%d", &n);
c = n;
//翻转
while (n != 0)
{
b = n % 10;
a = a * 10 + b;
n /= 10;
}
//判断
if (c == a)
printf("%d 是回文数。", c);
else
printf("%d 不是回文数。", c);
return 0;
}
#include
int main()
{
int low, high,i, flag;
printf("输入两个整数:");
scanf_s("%d %d", &low, &high);
printf("%d 与%d之间的素数为:", low, high);
while (low < high)
{
flag = 0;
for (i = 2; i <= low / 2; ++i)
{
if (low%i == 0)
{
flag = 1;
break;
}
}
if (flag == 0)
printf("%d ", low);
++low;
}
return 0;
}
#include
int main()
{
int number, i;
printf("输入一个整数:");
scanf_s("%d", &number);
printf("%d的因数有:", number);
for (i = 1; i <= number; ++i)
{
if (number%i == 0)
{
printf("%d ", i);
}
}
return 0;
}
#include
void reverseSentence();
int main()
{
printf("输入一个字符串:");
reverseSentence();
return 0;
}
void reverseSentence()
{
char c;
scanf_s("%c", &c);
if (c != '\n')
{
reverseSentence();
printf("%c", c);
}
}
#include
#include
int converBinaryToDecimal(long long n);
int main()
{
long long n;
printf("输入一个二进制数:");
scanf_s("%lld", &n);
printf("二进制%lld转换位十进制%d", n, converBinaryToDecimal(n));
return 0;
}
int converBinaryToDecimal(long long n)
{
int decimalNumber = 0, i = 0, remainder;
while (n != 0)
{
remainder = n % 10;
n /= 10;
decimalNumber += remainder * pow(2, i);
++i;
}
return decimalNumber;
}
#include
#include
long long converDecimalToBinary(int n);
int main()
{
int n;
printf("输入一个十进制数:");
scanf_s("%d", &n);
printf("十进制数%d转换为二进制数 %lld", n, converDecimalToBinary(n));
return 0;
}
long long converDecimalToBinary(int n)
{
long long binaryNumber = 0;
int remainder, i = 1, step = 1;
while (n != 0)
{
remainder = n % 2;
printf("Step %d: %d/2,余数=%d, 商 = %d\n", step++, n, remainder, n / 2);
n /= 2;
binaryNumber += remainder * i;
i *= 10;
}
return binaryNumber;
}
#include
//使用 for 循环迭代出输出元素,并将各个元素相加算出总和,再除于元素个数
int main()
{
int array[10] = { 1,2,3,4,5,6,7,8,9,0 };
int sum, loop;
float avg;
sum = avg = 0;
for (loop = 0; loop < 10; loop++)
{
sum = sum + array[loop];
}
avg = (float)sum / loop;
printf("平均值为 %.2f", avg);
return 0;
}
#include
int main()
{
int array[10] = { 1,2,3,4,5,6,7,8,9,0 };
int loop;
/*for (loop = 0; loop < 10; loop++)
{
printf("%d ", array[loop]);
}*/
for (loop = 9;loop >= 0; loop--)
{
printf("%d ", array[loop]);
}
return 0;
}
#include
int main()
{
int array[10] = { 1,2,3,4,5,6,7,8,9,0 };
int sum ,loop;
sum = 0;
for (loop = 9; loop >= 0; loop--)
{
sum = sum + array[loop];
}
printf("元素和为:%d", sum);
return 0;
}
#include
int main()
{
int array[10] = { 1,2,3,4,5,6,7,8,9,0 };
int largest ,loop;
largest = array[0];
for (loop = 1; loop <10; loop++)
{
//if (largest < array[loop]) 求最大
if (largest > array[loop]) 求最小
largest = array[loop];
}
printf("最大元素为:%d",largest);
return 0;
}
#include
int main()
{
int array[10] = { 0,1,2,3,4,5,6,7,8,9 };
int even[10], odd[10];
int loop, e, d;
e = d = 0;
for (loop = 0; loop < 10; loop++)
{
if (array[loop] % 2 == 0)
{even[e] = array[loop];e++;
}
else
{odd[d] = array[loop];d++;
}
}
printf("原始数组:");
for (loop = 0; loop < 10; loop++)
{
printf(" %d", array[loop]);
}
printf("\n偶数:");
for (loop = 0; loop < e; loop++)
printf(" %d", even[loop]);
printf("\n奇数:");
for (loop = 0; loop < d; loop++)
printf(" %d",odd[loop]);
return 0;
}
#include
int main()
{
int array[10];
int even[5] = { 1,2,4,6,8 };
int odd[5] = { 1,3,5,7,9 };
int loop, index, e_len, o_len;
e_len = o_len = 5;
index = 0;
for (loop = 0; loop < e_len; loop++) {
array[index] = even[loop];
index++;
}
for (loop = 0; loop < o_len; loop++) {
array[index] = odd[loop];
index++;
}
printf("\n偶数:");
for (loop = 0; loop < e_len; loop++)
printf(" %d", even[loop]);
printf("\n奇数:");
for (loop = 0; loop < o_len; loop++)
printf(" %d", odd[loop]);
printf("\n合并后:");
for (loop = 0; loop < 10; loop++)
printf(" %d", array[loop]);
return 0;
}
#include
int main()
{
int a[10][10], transpose[10][10], r, c, i, j;
printf("输入矩阵的行与列:");
scanf_s("%d %d", &r, &c);
printf("\n输入矩阵元素:\n");
for(i=0;i<r;++i)
for (j = 0; j < c; ++j)
{
printf("输入元素 a%d%d: ", i + 1, j + 1);
scanf_s("%d", &a[i][j]);
}
printf("\n输入矩阵:\n");
for(i=0;i<r;++i)
for (j = 0; j < c; ++j)
{
printf("%d ", a[i][j]);
if (j == c - 1)
printf("\n\n");
}
for(i=0;i<r;++i)
for (j = 0; j < c; ++j)
{
transpose[j][i] = a[i][j];
}
for(i=0;i<r;++i)
for (j = 0; j < c; ++j)
{
transpose[j][i] = a[i][j];
}
printf("\n转换后矩阵:\n");
for (i = 0; i < c; ++i)
for(j=0;j<r;++j)
{
printf("%d ", transpose[i][j]);
if (j == r - 1)
printf("\n\n");
}
return 0;
}