此文为本人在练习菜鸟教程C语言经典100例时所写的部分代码记录(81~100)
网址为: http://www.runoob.com/cprogramming/c-100-examples.html
#include<stdio.h>
#include<math.h>
int OtoD(int n)
{
int sum = 0;
int i = 0;
while(n)
{
sum += (n%10)*pow(8,i++);
n /= 10;
}
return sum;
}
int main(void)
{
int n;
printf("请输入一个8进制数:\n");
scanf("%d",&n);
printf("刚输入的8进制数转化为十进制为\n");
printf("%d",OtoD(n));
}
#include<stdio.h>
#include<math.h>
int IsPrime(int n)
{
int i;
if(n == 1)
return 0;
for(i = 2; i <= sqrt(n); i++)
if(n%i == 0)
return 0;
return 1;
}
void divide_even(int even,int *a,int *b)
{
int i;
for(i = 2; i < even; i++)
{
if(IsPrime(i)&&IsPrime(even - i))
break;
}
*a = i;
*b = even - i;
}
int main(void)
{
int n,a,b;
printf("请输入一个偶数:\n");
scanf("%d",&n);
divide_even(n,&a,&b);
printf("偶数%d可以分解成%d和%d两个素数的和",n,a,b);
}
#include<stdio.h>
long mod_prime(int n,int *count)
{
long i = 9;
while(i%n != 0)
{
i = i*10 + 9;
(*count) ++;
}
return i;
}
int main(void)
{
int prime,count = 1;
long ret;
printf("请输入一个素数:\n");
scanf("%d",&prime);
ret = mod_prime(prime,&count);
printf("素数%d能整除%d个9组成的数%ld",prime,count,ret);
return 0;
}
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char* strcomb(char *str1, char *str2)
{
char *p = str1;
char *q = str2;
while(*p != '\0')
p++;
while(*q != '\0')
{
*p = *q;
p++;
q++;
}
*p = '\0';
return str1;
}
int main(void)
{
char str1[20],str2[20];
printf("请输入第一个字符串:\n");
gets(str1);
printf("请输入第二个字符串:\n");
gets(str2);
strcmp(str1,strcomb(str1,str2));
puts(str1);
return 0;
}
#include<stdio.h>
void Print(int n)
{
for(int i = 0; i < n; i++)
printf("*");
printf("\n");
}
int main(void)
{
int n;
for(int i = 0; i < 7; i++)
{
scanf("%d",&n);
Print(n);
}
return 0;
}
#include<stdio.h>
void swap(int *a,int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
int main(void)
{
int a[4] = {0};
int n, i = 3;
printf("请输入四位数字:");
scanf("%d",&n);
while(n)
{
a[i] = n%10;
a[i] += 5;
a[i--] %= 10;
n /= 10;
}
swap(&a[0],&a[3]);
swap(&a[1],&a[2]);
printf("加密后的数字:");
for(i = 0;i < 4;i++)
printf("%d",a[i]);
return 0;
}
#include<stdio.h>
#include<string.h>
int Sub_Num(char *str,char *sub)
{
int count = 0,i,j;
for(i = 0; i < strlen(str); i++)
{
int pos = 0;
for(j = 0;j < strlen(sub); j++,pos++)
{
if(str[i + pos] != sub[j])
break;
}
if(j == strlen(sub))
count++;
}
return count;
}
int main(void)
{
char str[80],sub[80];
int count;
printf("请输入两个字符串,以回车隔开,母串在前,子串在后:\n");
gets(str);
gets(sub);
count = Sub_Num(str,sub);
printf("%d",count);
return 0;
}