c语言问题:输入一个十进制数,将其转化为二进制数后存放在数组中并输出
#include<stdio.h>
#define uint unsigned int
#define ushort unsigned short
//求2的N次方
int cifang(int n)
{
int i=0,sum=1;
for(i=n;i>0;i--)
{
sum*=2;
}
return sum;
}
//十进制正数转换成二进制数
uint transform_data_zhengshu(uint frequence,ushort*pwm_table)
{
uint temp=frequence;
int pwm_index=0;
while(temp)
{
pwm_table[pwm_index]=(temp&0x01);
temp=temp>>1;
pwm_index++;
}
return pwm_index-1;
}
uint transform_data(int frequence,ushort*pwm_table)
{
int temp=frequence;
int pwm_index=0;
ushort pwm_temp[15]={0};
//负数
if(frequence<0)
{
//先将负数转换成正数
temp=-frequence;
//求出这个正数temp的二进制并存放在pwm_temp中
transform_data_zhengshu(temp,pwm_temp);
//将这个正数temp的二进制pwm_temp取反并转换成十进制数sum
int sum=0;
int i=0;
for(i=0;i<15;i++)
{
if(pwm_temp<i>==0)
pwm_temp<i>=1;
else
pwm_temp<i>=0;
sum+=cifang(i)*pwm_temp<i>;
pwm_temp<i>=0;
}
//将转换出来的十进制数sum加一
sum+=1;
//printf("sum=%d
",sum);
//最后再转成二进制pwm_table
return transform_data_zhengshu(sum,pwm_table);
}
//正数
return transform_data_zhengshu(frequence,pwm_table);
}
int main(){
int frequence=-2;
//scanf("%d",&frequence);
ushort pwm_table[15]={0};
uint off_set;
off_set=transform_data(frequence,pwm_table);
int i=0;
for(i=off_set;i>=0;i--)
{
printf("%d",pwm_table<i>);
}
return 0;
}
扩展资料:
①printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。
格式输出,它是c语言中产生格式化输出的函数(在stdio.h中定义)。用于向终端(显示器、控制台等)输出字符。格式控制由要输出的文字和数据格式说明组成。
要输出的文字除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。
简单点理解就是,在一段程序中你正确使用该函数,可以在该程序运行的时候输出你所需要的内容。
②printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用printf函数之前必须包含stdio.h文件。
printf()函数的调用格式为:printf("<格式化字符串>",<参量表>)。
其中格式化字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。
格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。
如“%d”表示按十进制整型输出,“%ld”表示按十进制长整型输出,“%C”表示按字符型输出等。
绛旓細include<stdio.h> define uint unsigned int define ushort unsigned short //姹2鐨凬娆℃柟 int cifang(int n){ int i=0,sum=1;for(i=n;i>0;i--){ sum*=2;} return sum;} //鍗佽繘鍒姝f暟杞崲鎴愪簩杩涘埗鏁 uint transform_data_zhengshu(uint frequence,ushort*pwm_table){ uint temp=freque...
绛旓細int main(){ int a,*p;p=&a;scanf("%d",p);printf("%x\n",*p);return 0;}
绛旓細鍙互閫氳繃C璇█缂栧啓涓涓绋嬪簭锛屽皢杈撳叆鐨鍗佽繘鍒舵暟杞崲涓轰簩杩涘埗鏁般傞鍏堬紝鎴戜滑闇瑕佷簡瑙e崄杩涘埗鍜屼簩杩涘埗涔嬮棿鐨勮浆鎹㈠師鐞嗐傚崄杩涘埗鏄垜浠棩甯哥敓娲讳腑甯哥敤鐨勬暟鍊艰〃绀烘柟娉曪紝姣涓浣涓婄殑鏁扮爜閮芥槸0~9涔嬮棿鐨勬暟瀛椼傝屼簩杩涘埗鍒欏彧鏈0鍜1涓や釜鏁扮爜銆傝灏嗗崄杩涘埗杞崲涓轰簩杩涘埗锛屽彲浠ラ噰鐢“闄2鍙栦綑”鐨勬柟娉曪紝鍗冲皢鍗...
绛旓細printf("杈撳叆涓涓暟瀛:"); scanf("%d",&i); if(i<0) i=-i; while(i>=10) { sum+=i%10; i/=10; } sum+=i; printf("鍚勪綅涔嬪拰涓%d\n",sum);} 鏈洖绛旂敱鐢佃剳缃戠粶鍒嗙被杈句汉 绯荤粺鎺ㄨ崘 涓炬姤| 绛旀绾犻敊 | 璇勮 7 0 zelon19890311 閲囩撼鐜:61% 鏉ヨ嚜鍥㈤槦:鐢佃剳杞‖浠 鎿呴暱: 缂栫▼璇█ 鍑哄浗/鐣欏...
绛旓細include<stdio.h> void dec2bin(int x){if(x>1)dec2bin(x/2);printf("%d",x%2);} int main(){int x;scanf("%d",&x);dec2bin(x);return 0;}
绛旓細void main(){ int m,n,a[10],i=0,y[100],f[100],b[100],j,k;printf("璇杈撳叆涓涓鏁存暟:");scanf("%d",&n);m=abs(n);while (m!=0){ a[i]=m%2;m=m/2;i=i+1;} if (n>=0){ for(j=0;j<i;j++) y[j]=a[j];if ((j+1)%8!=0) for(;(j+1)%8!=0;j...
绛旓細=N[x%n];x/=n;}for(i=total-1;i>=0;i--){p[total-1-i]=tmp[i];}if(total==0){p[0]='0';p[1]=0;}elsep[total-1-i]=0;}int main(){char s[100];//鐢ㄤ簬瀛樻斁杞崲鐨勮繘鍒剁殑鏁癷nt i,x; printf("鎶涓涓鏁拌浆鎹㈡垚2 3 4 ... 16杩涘埗鏁\n");scanf("%d",&x);...
绛旓細);break;default: printf("%d",arr[i]);}printf("\n\n\n"); } int main() {int num,choo; loop: printf("璇烽夋嫨鍔熻兘锛0.閫鍑 1.鍗佽繘鍒惰浆浜岃繘鍒 2.鍗佽繘鍒惰浆鍏繘鍒 3.鍗佽繘鍒惰浆鍗佸叚杩涘埗\n");scanf("%d",&choo);switch (choo){case 1:printf("璇杈撳叆瑕佽浆鎹㈢殑鍗佽繘鍒舵暟锛"...
绛旓細//鍗佽繘鍒杞叾瀹冭繘鍒#include <stdio.h>#define charset "0123456789ABCDEFGHIJKLMNOPQ"int longtoother(long x,int n,char *p){//鏁存暟閮ㄥ垎杞崲杩涘埗 锛岃繑鍥鏁板瓧闀垮害 int i=0,k,m,mm;char *pp=p;if (x==0){*p='0'; *(p+1)=0; return 1;}else{while(x!=0){ //i鐢ㄤ簬璁℃暟鍏卞灏...
绛旓細C浠g爜鍜岃繍琛岀粨鏋滃涓锛氳緭鍏ュ崄杩涘埗鏁存暟锛岃緭鍑哄叾鍗佽繘鍒躲佸叓杩涘埗鍜屽崄鍏繘鍒跺舰寮 闄勬簮鐮侊細include <stdio.h> int main() { int n;scanf("%d", &n);printf("鍗佽繘鍒:%d\n", n);printf("鍏繘鍒:%o\n", n);printf("鍗佸叚杩涘埗:%x\n", n);return 0;} ...