三道题
来源:互联网 发布:疑心暗鬼动作数据下载 编辑:程序博客网 时间:2024/06/07 04:46
:1:
输入一个整数,依次输出它的每位数的英文单词
代码C:
# include <stdio.h> # define N 30 //如果要录入X个字节则 N=X int Getchar(char A[],int min,int max);//直到用户输入的字符串长度在[min,max]之间时 函数结束 返回字符串A的长度 int Check(char A[]); int main(){ char A[N+1],B[][6]={"zero","one","two","three","four","five","six","seven","eight","nine"};int L,i; while(1){ do{ printf("输入数字(1--%d)位:\n",N); L=Getchar(A,1,N); }while(Check(A)); i=0; while(i<L) printf("%s ",B[A[i++]]); printf("\n"); } return 0; } int Check(char A[]){int i=-1;while(A[++i]) if(A[i]>'9'||A[i]<'0') return printf("输入有误!请重新"); else A[i]-='0';return 0;}int Getchar(char *A,int min,int max)//长度在[min,max] <闭区间> 之间时 函数结束 返回字符串A的长度 { int B,C; do{ A[max]=B=C=0; while((A[B++]=getchar())!='\n'&&B<max); if(A[B-1]!='\n')while(getchar()!='\n'&&++C); else A[--B]=0; if(C||B&&B<min) printf("您录入的字符串长度:%d字节\n只录入(%d--%d)个字节!\n",B+C,min,max); }while(C||B<min); return B; }2:
代码C:
# include <stdio.h># define N 20void change(int *a,int *b){//交换函数 int c=*a; *a=*b; *b=c; } void paixu(int A[][N],int left,int right)//快速排序升序 { int i=left,j=right,temp[2]={A[0][left],A[1][left]}; if(left>=right) return; while(i!=j) { while((A[0][j]<temp[0]||A[0][j]==temp[0]&&A[1][j]>=temp[1])&& i<j)j--; while((A[0][i]>temp[0]||A[0][i]==temp[0]&&A[1][i]<=temp[1])&& i<j)i++; if(i<j) { change(&A[0][i],&A[0][j]); change(&A[1][i],&A[1][j]); } } if(i!=left) { change(&A[0][left],&A[0][i]); change(&A[1][left],&A[1][i]); } paixu(A,left,i-1); paixu(A,i+1,right); } int main(){char A[N]={"\0"};int S[2][N];int B,C,i;freopen("A.txt","r",stdin);scanf("%d",&B);while(B--){ scanf("%d",&C); i=0; while(C){ A[i++]+=C&1; C=(C>>1); }}for(i=0;i<N;i++){S[1][i]=1<<i;S[0][i]=A[i];}paixu(S,0,N-1);for(i=0;i<N;i++) if(S[0][i]) printf("%d %d\n",S[1][i],S[0][i]);return 0;}
3:Description
完成两个8位二进制数累加运算。如果最高位有进位,则加入最后一位。
Input
输入两个8位二进制数
Output
输出二进制数累加和。
Sample Input
10001011 01111100
Sample Output
00001000
完成两个8位二进制数累加运算。如果最高位有进位,则加入最后一位。
Input
输入两个8位二进制数
Output
输出二进制数累加和。
Sample Input
10001011 01111100
Sample Output
00001000
代码:
# include <stdio.h>int CF(char *C);int main(){ int a,b,c=-1,i; char C[10]={"\0"}; scanf("%d %d",&a,&b); sprintf(C,"%08d",a+b); while(C[++c])C[c]-=48;//每个-48 while((i=CF(C))!=0)C[7]+=i;//每次如果最高位进位不是0 则继续循环+ for(i=0;i<8;i++)//输出 printf("%d",C[i]); printf("\n"); return 0;}int CF(char *C){ int i=7,j=0; for(i=7;i>0;i--)//8位 if(C[i]>1){//当前位>=2 C[i-1]+=C[i]>>1;//进位 C[i]%=2;//当前位%2 } if(C[i]>1){//处理最高位 j=C[i]>>1; C[i]%=2; } return j;}
阅读全文
1 0
- 三道题~~
- 三道题
- 人生三道题
- C三道题
- 三道题+作业题
- 12.16三道题
- 检查点9.1的三道题
- 微软的三道题
- C++ 三道题搞定继承
- iOS 面试之三道题
- Ugly Number的三道题
- 2016网易游戏三道题
- # USACO4.4 三道题
- 三道题理解动态规划
- 线段树入门三道题
- C三道题(2)
- C三道题(3)
- C三道题(四)
- angularjs-$destroy
- Dlib安装与使用
- Linux_170712_路由表相关
- Collection容器
- oracle---trunc()函数
- 三道题
- QEvent的使用注意事项
- Node.js用来做什么?我们为什么要用它?
- RMQ
- Codeforces Round #423 (Div. 2) B Black Square 黑色正方形 思维题
- 3DES加密,秘钥长度为32
- 解决maven下载慢的问题
- FM(因子分解机系列)
- shell getopts 用法