|
|
发表于 2023-10-2 15:49:29
|
显示全部楼层
代码没有输出的原因是在主函数中 scanf 函数的参数应该是一个指针,而不是一个变量。应该将 scanf("%d",n) 改为 scanf("%d",&n)。
另外,在输出年份时,应该输出四位数,而不是两位数。可以使用 %04d 格式化输出。修改后的代码如下:
- #include<stdio.h>
- int length(int x)
- {
- int ss=0;
- while(x>0)
- {
- x=x/10;
- ss++;
- }
- return ss;
- }
- int main()
- {
- int n;
- scanf("%d",&n);
- if(length(n)==6) printf("%d-%02d",n/100,n%100);
- if(length(n)==4)
- {
- int a;
- a=n/100;
- if(a>=22) printf("19%02d-%02d",a,n%100);
- if(a<22) printf("20%02d-%02d",a,n%100);
- }
- }
复制代码 |
|