魔兽世界瓦王幻化:谁会做这几题C语言?

来源:百度文库 编辑:中科新闻网 时间:2024/05/04 02:57:15
第一题:编写一个猜数字程序,计算机随机产生1到1000之间的一个整数,用户猜其大小,系统给出提示,告诉用户猜的数是大了还是小了,直到用户猜对为止,并给出猜的次数。
第二题:1 2 3 4 5 6
3 2 1 2 3 4
5 4 3 2 1 2
6 5 4 3 2 1
第三题:自定义函数完成stropy(),strcat(),strlen()的功能。
第四:编写一个将十进制整数转化为十六进制字符串的函数和一个将十六进制转化为十进制的函数,例:输入162,转化为A2。
第五:编写一个程序将一个文本文件xx.c中的所有小写字母变成大写字母并存入别外一个文件中dx.c
最后一题:随机输入一组数元素值,对其进行排序,然后随机输入一个数,用折半查找法进行查找,如找到,输出其在数组的位置;如不在,给出提示。

第一题:
#include "stdio.h"
#include "conio.h"
int vasule(int x)
{
int i,j,t;
for(t=1;;t++)
{
printf("please input the number to guess!\n");
scanf("%d",&i);
if(x>i)
{
printf("you can guess bigger!\n");

}
if(x<i)
{
printf("you can guess little!\n");
}
if(x==i)
{
printf("you win!");
return(t-1);
}
}
}
main()
{
int x,y;
x=rand()%1000;
y=vasule(x);
printf("%d",y);
getch();
}
实现在字符串的复制(strcpy)功能和求字符串长度的函数(strlen):
#include "stdio.h"
#include "conio.h"
#include"string.h"
int vasule(char aa[],char bb[])
{
int i,j=0,k=0;
while(aa[j]!='\0')/*求字符串的长度*/
{
j++;
}
while(bb[k]!='\0')
{
k++;
}
for(i=0;i<k;i++)
{
aa[i]=bb[i];
}
aa[i]='\0';

}
main()
{
char aa[30],bb[30];
printf("input the string!\n");
gets(aa);
printf("input the other string!\n");
gets(bb);
vasule(aa,bb);
puts(aa);
getch();
}
实现字符串的连接功能(strcat)
#include "stdio.h"
#include "conio.h"
#include"string.h"
int vasule(char aa[],char bb[])
{
int i,j=0,k=0,t=0;
while(aa[j]!='\0')
{
j++;
}
while(bb[k]!='\0')
{
k++;
}
for(i=j;i<k+j;i++)
{
aa[i]=bb[t++];
}
aa[i]='\0';

}
main()
{
char aa[30],bb[30];
printf("input the string!\n");
gets(aa);
printf("input the other string!\n");
gets(bb);
vasule(aa,bb);
puts(aa);
getch();
}
把十进制转化为2进制。然后转为十六进制就容易了。
#include "stdio.h"
#include "conio.h"
#include"string.h"
int aa[16];
void jsvalue(int aa[],int x)
{
int i,j=0,t,k,p,sum=0;
char bb[4];
while(x>0)
{
i=x%2;
x/=2;
aa[j++]=i;

}
t=j;
j--;

for(i=0;i<j;i++,j--)
{
k=aa[i];
aa[i]=aa[j];
aa[j]=k;
}

for(i=0;i<t;i++)
printf("%d",aa[i]);

}
main()
{
int x;
printf("input the number!\n");
scanf("%d",&x);
jsvalue(aa,x);
getch();

}
由于篇幅问题不再写了.