#include<stdio.h> void main(){ char str1[20]; char str2[20]; char str3[20]; int a = 20984,b=48090; double d=14.309948; //說明 //1.sprintf是一個系統函數,能夠將結果存放在字符串中 //2.格式化的結果,會存放到str1中 sprintf(str1,"%d %d",a,b); sprintf(str2,"%.2f",d); sprintf(str3,"%8.2f",d);//%8.2f含義是格式化後,一共有8位,小數點後佔用2位,不夠用空格佔位 printf("str1=%s str2=%s str3=%s",str1,str2,str3); getchar(); }
語法:經過<stdio.h>的函數調用atoi atof便可數組
#include<stdio.h> #include<stdlib.h> void main(){ //字符數組 char str[10]="123456"; char str2[10]="12.67423"; char str3[3]="ab"; char str4[4]="111"; //說明 //1.atoi(str)將str轉成整數 int num1 = atoi(str); short s1 = atoi(str4); //說明 //1.atof(str2)將str轉成小數 double d = atof(str2); //說明 //1.str[0]表示獲取到str3這個字符串(數組)的第一個元素'a' char c=str3[0]; printf("num1=%d d=%f c=%c s1=%d",num1,d,c,s1); getchar(); }
//函數能夠沒有返回值,編寫一個函數,從終端輸入一個整數打印對應的金字塔 //層數totalLevel是經過形參傳入 void printStar(int totalLevle){ int i,j,k; for(i=1;i<=totalLevle;i++){//控制層 //輸出空格,使用k控制空格的循環 for(k=1;k<=totalLevle-i;k++){ printf(" "); } for(j=i;j<=2*i-1;j++){ if(j==1||j==2*i-1||i==totalLevle){ printf("*"); }else{ printf(" "); } } printf("\n"); } }
void main(){ int totalLevle = 0; printf("請輸入金字塔的層數"); scanf("%d",&totalLevle); //調用函數 printStar(totalLevel); getchar(); getchar(); }
//編寫一個函數,從終端輸入一個整數(1-9),打印出對應的乘法表 void print99(int n){ int i,j; for(i=1;i<=n;i++){ //由於每一行都在增長算式,因此使用for循環控制 for(j=1;j<=i;j++){ printf("%d * %d = %d",j,i,i*j); } printf("\n"); } } void main(){ int n = 0; printf("請輸入n"); scanf("%d",&n); print99(n); getchar(); getcahr(); }
//定義函數,實現求兩個double數字的最大值,並返回 double getMax(double d1,double d2){ return d1>d2?d1:d2; } //定義函數,求出三個int類型數的和,並返回 int getSum(int n1,int n2,int n3){ return n1+n2+n3; }