#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; }